Here are some issues I can think of (other than those you already mentioned like supplying
unique contexts), off the top of my head:
1) You will have to ascertain that the JNDI names for your EJBs (and anything else that
needs JNDI names, such as the data source) are unique between the apps. This should not be
an issue for the EJBs if you go with the default jndi naming convention of
ear-name/ejb-name/local (or ../remote)
[Note that this item has the built-in assumption that you will have to rename the EAR file
for each app...]
2) Each app will have to adjust how it looks up EJBs to use up the correct
"ear-name" section of the JNDI name. This could be done via a properties file.
3) You will have to configure a loader repository for each app - this will keep the
classloaders separate and ensure proper scoping of the classes (each ear gets its own copy
of the classes)
4) You will need a *-ds.xml file for each app, each with its own custom JNDI name and the
app will have to be configured to use the new name. Given that you are using Seam, I am
not sure if there are mechanisms to programmatically alter the Hibernate/JPA configuration
or if you will have to modify the persistence.xml file before deploying. (If you use Ant
to deploy, you could modify the persistence.xml file at deploy time. Considering that you
already have to modify the application.xml file to supply a unique context, this might not
be all that big of a hardship.)
Those are the things I can think of. But it is usually the unforeseen issues that end up
getting to you.
Good luck!
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4213410#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...