Bonjour,
je cherche un moyen pour qu'un application dans mon conteneurs (glassfish) s'enregistre auprès d'une autre application déjà déployée.
Comment faire ?
Merci d'avance.
Bonjour,
je cherche un moyen pour qu'un application dans mon conteneurs (glassfish) s'enregistre auprès d'une autre application déjà déployée.
Comment faire ?
Merci d'avance.
En gros dans mon WAR A il y a une appli. Dans mon (en fait mes) WAR B il y une sorte de plugin qui implémente une interface de A, et donc B dit à A qu'il est là.
Évidemment, je chercher aussi un moyen pour que A soit au courant qu'on à désactivé / désenregistré le WAR B.
Un système de plugin en bref, mais qui serait basé sur une norme ou api commune à chaque conteneur J2EE ?
Merci.
Bon, j'ai finis par trouver ce que je cherchais : les WAB, pour Web Archive Bundle.
C'est en fait une archive contenant un WAR normal et un descripteur OSGi dans le fichier manifest.
Le conteneur vois donc les 2. Et j'ai donc accès au listener normal des appli web, et à l'activator OSGi.
C'est très bien foutu.
Par contre grosses déception, le déploiement dans glassfish : si je déploie comme une appli web, la partie OSGi n'est pas initialisée, mais il me dit bien que c'est une appli web, (avec web service dans mon cas).
Mais si je déploie pour avoir la partie OSGi, je dois utiliser le type de déploiement 'autre', cliquer sur OSGi, le déploiement se passe bien, les logs me disent bien que toutes les parties sont reconnues (OSGi, appli web, et web service) mais la console d'administration me dit que c'est un bête conteneur OSGi, je perd le lien 'lancer' et la section 'moteur' ne contient que OSGi.
Dommage, mais je chipote.
Merci.
Avec Java EE 6 (GlassFish 3, JBoss 7, Weblogic 12c, ...) tu peux spécifier l'ordre d'initialization des WAR:
https://blogs.oracle.com/alexismp/en..._order_in_java
Partager