2012-02-22 6 views
0

Y a-t-il de la documentation/spécification sur la façon de compresser et déployer EJB avec des dépendances sur OpenEJB?Emballage OpenEJB autonome avec dépendances

J'ai essayé de déployer un paquet EAR:

service.ear/lib/activemq-all.jar 
service.ear/META-INF/application.xml 
service.ear/model.ejb!META-INF/ejb-jar.xml 
service.ear/model.ejb!com/example/MyActivemqDependentService.class 

Il a été déployé avec succès, le client peut trouver en utilisant JNDI, mais, quand il initialisé, noClassDefFound exception ocurr.

Répondre

1

ActiveMQ est déjà livré avec OpenEJB, je ne m'attendrais pas à ce qu'il fonctionne également dans l'EAR.

Cela pourrait très probablement être la source de votre NoClassDefFoundError s. Retrait que activemq-all.jar est la première chose que j'essaierais.

+0

Cela résout le problème actuel. Je vais tester l'application pendant un certain temps et vérifier si cette exclusion n'affectera pas un code dépendant d'activemq. Cordialement – apast

+0

Dois-je ne pas être en mesure d'expédier ma propre version de n'importe quelle lib je veux? Je pensais que c'était l'idée derrière l'héritage de classloader. – SkyDan

+0

Nous utilisons en fait un 'java.net.URLClassLoader 'standard dans OpenEJB, donc il a la même sémantique de la classe loading qu'une application Java SE simple. Le classloader parent possède ActiveMQ, donc le classloader enfant peut le voir et l'utiliser. –

Questions connexes