Things like the order of/missing elements in the DD etc are now better
detected by the metadata layer in JBoss5. :)
adrian(a)jboss.org wrote:
I've been trying to figure out why some of the tests fail in
JBoss5
but work in JBoss4.2, even though the code and config looks the same.
No matter how hard I looked at the code I couldn't see the difference. :-)
The answer is actually that JBoss5 spots the error during deployment
while 4.2 doesn't.
e.g. I couldn't figure out why this config was working in JBoss-4.2 but not in
JBoss5
| <server>
| <mbean code="org.jboss.test.cts.service.CtsCmpService"
| name="jboss.test:service=CtsCmpServiceV1">
| <attribute
name="HomeJndiName">v1/local/CtsCmp2Bean</attribute>
| <depends>jboss.j2ee:service=EJB,jndiName=v1/CtsCmp2Bean</depends>
| </mbean>
| </server>
|
The actual ejb was called v1/local/CtsCmp2Bean.
I thought there might be something we missed in the reworking of the metadata
that introduced a backwards compability issue.
In fact, the config is wrong in JBoss-4.2, but the deployer doesn't spot it.
If I use the JMX console in 4.2 to do MainDeployer.checkIncompleteDeployments()
I get the following error:
| Incomplete Deployment listing:
|
| --- MBeans waiting for other MBeans ---
| ObjectName: jboss.test:service=CtsCmpServiceV1
| State: CONFIGURED
| I Depend On:
| jboss.j2ee:service=EJB,jndiName=v1/CtsCmp2Bean
|
| --- MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM ---
| ObjectName: jboss.j2ee:service=EJB,jndiName=v1/CtsCmp2Bean
| State: NOTYETINSTALLED
| Depends On Me:
| jboss.test:service=CtsCmpServiceV1
|
|
|
org.jboss.deployment.MainDeployer.checkIncompleteDeployments(MainDeployer.java:1385)
|
which is the same as what I get in JBoss5 but without having to use the jmx console
to find the problem. ;-)