This content has been marked as final. Show 3 replies
Do you have remote interfaces at all?
I think I vagualy remember someone having a problem when they only had local interfaces, if that is the case then I think that it is likely that it is a fault but I would have to double check the specifications.
I do not have remote interfaces for these beans at all, which is an appropriate pattern for entity EJB's...
Since posting the original question, I have diddled a bit with the jboss source for 3.2.3, and come up with the following debug info:
13:39:30,837 INFO [STDOUT] URL for ejb-jar.xml: 'jar:file:/C:/j2ee-containers/jboss/jboss-3.2.3/server/default/tmp/deploy/tmp60071GreenEnergy-1.1.ear
13:39:30,958 INFO [STDOUT] Got EJB named: 'GreenEnergyRequest' from ejb-jar.xml
13:39:30,968 INFO [STDOUT] Got EJB named: 'GreenEnergyCBISAccountInfoView' from ejb-jar.xml
13:39:30,968 INFO [STDOUT] Got EJB named: 'SnailMailFacade' from ejb-jar.xml
13:39:30,988 INFO [STDOUT] Got EJB named: 'GreenEnergyRequestFacade' from ejb-jar.xml
13:39:30,988 INFO [STDOUT] Got EJB named: 'GreenEnergyToSubscriptionsBridge' from ejb-jar.xml
13:39:31,088 INFO [STDOUT] URL for jboss.xml: 'jar:file:/C:/j2ee-containers/jboss/jboss-3.2.3/server/default/tmp/deploy/tmp60071GreenEnergy-1.1.ear-c
If you look carefully, you'll see that these two files (ejb-jar.xml and jboss.xml) are loaded from the same instance of URLClassLoader, but are in fact loaded from different jar files within that classloader. This would be the case if (a) EJB's shared a single classloader, and (b) the GreenEnergy EJB-jar didn't have a jboss.xml file...which is know is not the case.
I'm still debugging to try to figure out why these two EJB's are apparently crossed up w.r.t. classloading, but if anyone has any pointers on where the classpath for this classloader is set (what classes), I'd sure appreciate it.
< grumbling >
This is why public member variables are a _bad_ idea...
< /grumbling >
Alright, so I am at least *partially* stupid...
I looked at the GreenEnergy jar file (the last to be deployed, and the real problem child), and found that it didn't include a jboss.xml. Therefore, the search for this file must have been taking the classloader hierarchy beyond that jar...I'm not at all sure how the SubscriberBean got into that classpath, however. This still smelly a little buggy, but I really don't have the time now to fully flesh this out.
What I can say is that they both appeared to be loading (ejb-jar.xml and jboss.xml) from the same classloader, which only had a single URL in it (the GreenEnergy ejb-jar). This jar did NOT contain a jboss.xml file, as I mentioned above, and the parent of this classloader was something from com.sun.misc...which tells me it probably was the system CL...following the code calls is daunting to say the least, since most configuration takes place through direct variable assignment, not getters/setters.
Anyway, onward and upward, I suppose. :)