-
Bug
-
Resolution: Done
-
Blocker
-
7.1.0.CR1b
Let's say we have an AS7 server with a stateless bean deployed at it and a client application which:
1. calls remotely the stateless bean
2. restarts the server
3. and calls the stateless bean again
The first invocation of the stateless bean instantiates some static fields in EJBInvocationHandler, EJBClientContext, etc. like a new remote connection, an ejb receiver and so on, and returns a proxy for the bean and does the remote call successfully. But after the server is restarted, the second invocation of the stateless bean does not re-create/re-instantiate any new remote connection or other ejb client utils and fails with IllegalStateException: No EJB receiver available for handling ... combination. Note that EJBClientContext#ejbReceiverAssociations is empty at that time. See the following stacktrace snippet:
java.lang.IllegalStateException: No EJB receiver available for handling [appName:,modulename:crash,distinctname:] combination at org.jboss.ejb.client.EJBClientContext.requireEJBReceiver(EJBClientContext.java:344) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:92) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:83) at $Proxy22.test(Unknown Source) at org.jboss.as.test.jbossts.ejbclienttest.EJBClientCrashTestCase.testCrashOnClient(EJBClientCrashTestCase.java:103)
Test-case for this issue can be found here:
https://github.com/istudens/jboss-as/compare/crash_rec_tests#diff-36
More detailed info how to reproduce the bug has been attached to 'Steps to Reproduce' of this jira.
- is blocked by
-
EJBCLIENT-21 Support re-connecting a broken connection which was autocreated
- Resolved