null null [
http://community.jboss.org/people/mimtiaz] created the discussion
"Deployment and classloader issues"
To view the discussion, visit:
http://community.jboss.org/message/546711#546711
--------------------------------------------------------------
Hi,
We have around 7 EAR's which needs to be deployed into JBoss, of which all the
EAR's depend upon one EAR which contains an application that is required to be started
before any other applicatons gets deployed and started. Also, we want to have all the
EAR's to be loaded with their own(seperate) classloaders. To achieve this, we set the
*isolated* property value to *true* in the *ear-deployer-jboss-beans.xml* file. Of these
EAR's 4 (publish, rdesk, blueplanet, website) are having the WAR and the EJB
submodules having MDBs in the EJB modules. The rest are having only WAR modules inside and
they are starting perfectly fine without any issues. Every WAR module of an EAR contains a
startup servlet, which determines whether the application has got started successfully or
not. The problem here is with the EARs having the MDBs in them. It looks like JBoss is
sharing the same classloader for all the EARs having MDBs in them. The state variable
maintained to indentify the status of the application indicating if its started or not is
getting always true once an EAR having MDB gets deployed into JBoss. Hence, the rest of
the EARs followed by during the deployment fails to start the applications. Please be
noted that we were able to start at least one EAR having MDBs in it along with the other
EARs having only WARs. If we try to deploy another EAR having a WAR and MDBs it wont start
the application with the above explained issue. Following are the details of the steps
that we followed to achive this:
* We have pointed all the EAR locations in the *profile.xml* as given below:
<value>${jboss.server.home.url}deploy</value>
<value>file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/eac/appserver/jboss</value>
<value>file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/edesk/appserver/jboss</value>
<value>file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/jms/appserver/jboss</value>
<value>file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/rdesk/appserver/jboss</value>
<value>file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/publish/appserver/jboss</value>
<value>file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/blueplanet/appserver/jboss</value>
<value>file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/website/appserver/jboss</value>
eac.ear located under
"file:///D:/BM/Dev_Env/Commerce_10_0_Dev/modules/eac/appserver/jboss" is the one
that is required by all other applications. Hence, we have placed the rest of the EARs
inside a directory named "deploy.last" under thier respective deployment
locations as specified above.
* We set the *isolated* property value to *true* in the *ear-deployer-jboss-beans.xml*
file as given below:
<property name="isolated">true</property>
* We have also specified the *jboss-app.xm*l in each EAR as given below:
<jboss-app>
<loader-repository>
blueplanet:archive=blueplanet.ear
<loader-repository-config>
java2ParentDelegation=true
</loader-repository-config>
</loader-repository>
</jboss-app>
* Also, specified the *jboss-classloading.xml* in each WAR as given below:
<classloading xmlns="urn:jboss:classloading:1.0"
name="blueplanet.war"
domain="bpa_domain"
top-level-classloader="true"
export-all="NON_EMPTY"
import-all="true">
</classloading>
Nothing helped us to get rid of this issue. Where are we going wrong ? Kindly help us
with your valuable inputs. Your earliest inputs are highly appreciated.
PS: Plese find the attached server log of JBoss related to this issue.
Thanks,
IM.
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/546711#546711]
Start a new discussion in Beginner's Corner at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]