[jboss-user] [EJB 3.0 Users] - Re: EJB jar cannot be deployed as a library (JBoss 5.0.1.GA)

jaikiran do-not-reply at jboss.com
Sat Nov 28 12:28:24 EST 2009


I looked at that application and it's packaging looks invalid on one count and a bit weird on another count.

The invalid part is - the persistence.xml is deployed through the META-INF of the my_ejb_module.jar. Which means that, as per the EJB3 spec, the persistence unit is scoped only to that jar and will not be visible outside it. So you can't inject using @PersistenceContext from some other jar  (imixs-workflow-jee-impl-x.x.x.jar). If you want the persistence unit to be visible to all components in the ear, then you will have to place the persistence.xml in the .ear/META-INF folder.

The weird part about the packaging is - the my_ejb_module.jar is mapped as a EJB module and contains only the descriptors (ejb-jar.xml, jboss.xml etc..). No classes within that jar. The EJB interfaces and the implementations are then packaged in  imixs-workflow-jee-x.x.x.jar, imixs-workflow-jee-impl-x.x.x.jar and placed in the .ear/lib folder. This is causing issues with the EJB3 deployers. Ideally, the bean implementations should be outside the lib folder, at the root of the ear. Why not package those implementations in the my_ejb_module.jar?

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4267907#4267907

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4267907

More information about the jboss-user mailing list