JBoss 5 deployment ordering (.last directory) issues
shadowcreeper Apr 19, 2012 3:29 PMWhen deploying an EAR in ...server/default/deploy/deploy.last/ (so that it will not be started until everything else has started) there is complete failure of all included beans.
Apparently, if there are beans in the EAR, it is in some cases listed (incorrectly?) in JNDI as "...ear=deploy.last,jar=..." rather that "...ear=test-ear.ear,jar=..."
According to the server log, the bean is (incorrectly?) bound to "deploy/TestSoloBean/local" rather than "test-ear/TestSoloBean/local"
I have attached a simple test case deploy.last directory with sources (using JBoss 5.1.0.GA).
Server log file details:
{noformat}
12:03:14,081 INFO [JBossASKernel] Created KernelDeployment for: test-ejb-01.00.00.jar
12:03:14,081 INFO [JBossASKernel] installing bean: jboss.j2ee:jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3
12:03:14,081 INFO [JBossASKernel] with dependencies:
12:03:14,081 INFO [JBossASKernel] and demands:
12:03:14,081 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService
12:03:14,081 INFO [JBossASKernel] and supplies:
12:03:14,081 INFO [JBossASKernel] jndi:deploy/TestSoloBean/local-test.server.ejb.TestSolo
12:03:14,082 INFO [JBossASKernel] jndi:deploy/TestSoloBean/remote
12:03:14,082 INFO [JBossASKernel] jndi:deploy/TestSoloBean/local
12:03:14,082 INFO [JBossASKernel] Class:test.server.ejb.TestSolo
12:03:14,082 INFO [JBossASKernel] Added bean(jboss.j2ee:jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3) to KernelDeployment of: test-ejb-01.00.00.jar
12:03:14,082 INFO [EJB3EndpointDeployer] Deploy AbstractBeanMetaData@4f94aaa1{name=jboss.j2ee:ear=deploy.last,jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3_endpoint bean=org.jboss.ejb3.endpoint.deployers.impl.EndpointImpl properties=[container] constructor=null autowireCandidate=true}
12:03:14,098 INFO [SessionSpecContainer] Starting jboss.j2ee:jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3
12:03:14,098 INFO [EJBContainer] STARTED EJB: test.server.ejb.TestSoloBean ejbName: TestSoloBean
12:03:14,103 INFO [JndiSessionRegistrarBase] Binding the following Entries in Global JNDI:
deploy/TestSoloBean/local - EJB3.x Default Local Business Interface
deploy/TestSoloBean/local-test.server.ejb.TestSolo - EJB3.x Local Business Interface
12:03:14,142 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
DEPLOYMENTS MISSING DEPENDENCIES:
Deployment "jboss.j2ee:ear=deploy.last,jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3_endpoint" is missing the following dependencies:
Dependency "jboss.j2ee:ear=deploy.last,jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3" (should be in state "Configured", but is actually in state "** NOT FOUND Depends on 'jboss.j2ee:ear=deploy.last,jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3' **")
DEPLOYMENTS IN ERROR:
Deployment "jboss.j2ee:ear=deploy.last,jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3" is in error due to the following reason(s): ** NOT FOUND Depends on 'jboss.j2ee:ear=deploy.last,jar=test-ejb-01.00.00.jar,name=TestSoloBean,service=EJB3' **
{noformat}
Could somebody tell me if this is a bug? Or, if not, what I am doing wrong and if possible how to work around the issue?
The only way to get the ".last" directory to deploy anything is if the EAR in the ".last" directory has no beans.
Thanks
-
test-server-sources.tgz 440 bytes
-
deploy.last.tgz 1.3 KB