I upgraded to the latest promoted build (GlassFish 3 b24) and the errors seems to have gone away. Now, the only problem that I have is if I use the TransactionSynchronizationRegistry to store resources to be shared by all components that participate in the transaction, these resources don't seem to be transferred remotely. The test that I did is the following:
- in server1, I deployed ear1. Ear1 contains a local session bean (sb1) that has an interceptor that uses the TransactionSynchronizationRegistry.putResource method to store value "value1" in key "key1". Sb1 calls a business method from remote session bean (sb2) deployed on another server.
- in server2, I deployed ear2. Ear2 contains sb2. sb2's business method is marked with @TransactionAttribute(MANDATORY). sb2's method uses the TransactionSynchronizationRegistry.getResource method to access the value stored in key "key1".
In the previous version of GlassFish that I was running (b13), this was crashing with the stacktrace above. Now at least it doesn't crash but when sb2 gets the value at key "key1" from the TransactionSynchronizationRegistry, it returns null. If I deploy both applications (ear1 and ear2) in the same server (same domain), it works. Is this a bug or is this the expected behaviour?
Thank you very much for your help.
[Message sent by forum member 'ylazzari']
http://forums.java.net/jive/thread.jspa?messageID=485466