[jboss-user] [Microcontainer] - @Depends and ObjectName key-value pair ordering
jaikiran
do-not-reply at jboss.com
Thu Oct 16 03:05:16 EDT 2008
System details - JBoss-5 CR2, Sun Java 1.5, Windows 2003 Server OS
I have a @Service with a @Depends annotation as follows:
@Service (objectName = "vieo.ccs:service=Migration")
| @Management(MyService.class)
| @Depends({"jboss.jca:service=DataSourceBinding,name=DefaultDS"})
| public class MyServiceImpl implements MyService {
| .....
| }
Nothing fancy with the implementation. When deployed on JBoss-5 CR2 this fails to deploy with a dependency error:
11:56:16,383 INFO [JBossASKernel] Created KernelDeployment for: myapp_ejb3.jar
| 11:56:16,399 INFO [JBossASKernel] installing bean: jboss.j2ee:ear=ServiceTest.ear,jar=myapp_ejb3.jar,name=MyServiceImpl,service=EJB3
| 11:56:16,399 INFO [JBossASKernel] with dependencies:
| 11:56:16,399 INFO [JBossASKernel] and demands:
| 11:56:16,399 INFO [JBossASKernel] jboss.jca:service=DataSourceBinding,name=DefaultDS
| 11:56:16,399 INFO [JBossASKernel] jboss.ejb:service=EJBTimerService
| 11:56:16,399 INFO [JBossASKernel] and supplies:
| 11:56:16,399 INFO [JBossASKernel] jndi:ServiceTest/MyServiceImpl/local
| 11:56:16,399 INFO [JBossASKernel] jndi:ServiceTest/MyServiceImpl/local-org.myapp.service.MyService
| 11:56:16,399 INFO [JBossASKernel] Class:org.myapp.service.MyService
| 11:56:16,399 INFO [JBossASKernel] jndi:ServiceTest/MyServiceImpl/remote
| 11:56:16,399 INFO [JBossASKernel] Added bean(jboss.j2ee:ear=ServiceTest.ear,jar=myapp_ejb3.jar,name=MyServiceImpl,service=EJB3) to KernelDeployment of: myapp_ejb3.jar
| 11:56:16,727 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS):
|
| *** CONTEXTS MISSING DEPENDENCIES: Name -> Dependency{Required State:Actual State}
|
| jboss.j2ee:ear=ServiceTest.ear,jar=myapp_ejb3.jar,name=MyServiceImpl,service=EJB3
| -> <UNKNOWN jboss.j2ee:ear=ServiceTest.ear,jar=myapp_ejb3.jar,name=MyServiceImpl,service=EJB3>{Described:** UNRESOLVED Demands 'jboss.jca:service=DataSourceBinding,name=DefaultDS' **}
|
|
| *** CONTEXTS IN ERROR: Name -> Error
|
| <UNKNOWN jboss.j2ee:ear=ServiceTest.ear,jar=myapp_ejb3.jar,name=MyServiceImpl,service=EJB3> -> ** UNRESOLVED Demands 'jboss.jca:service=DataSourceBinding,name=DefaultDS' **
|
Note that the DefaultDS datasource binding has already been deployed. The jmx-console confirms this, under jboss.jca
name=DefaultDS,service=DataSourceBinding
If you notice closely, my @Depends annotation has a different order of key-value pairs (which as far as i know is valid for ObjectName) :
@Depends({"jboss.jca:service=DataSourceBinding,name=DefaultDS"})
I then change my Service to change the key-value pair ordering to match what is seen in the jmx-console:
@Depends({"jboss.jca:name=DefaultDS,service=DataSourceBinding"})
and this deploys fine.
Isn't the ObjectName key/value pair supposed to be unordered? I tried to lookup the code responsible for this dependency management in the Microcontainer, but unfortunately this section of the documentation is still under construction. So i don't have much clue which piece of code is responsible for this.
P.S: I thought of posting this in the EJB3 forum but since this looks like a generic issue, i decided to post here. Let me know if this is not the right place.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4182552#4182552
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4182552
More information about the jboss-user
mailing list