-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
1.0.0.PREVIEW1
-
None
-
Compatibility/Configuration
-
Workaround Exists
-
From what I can tell, this is what happens.
Assume you have a 2 node environment w/ apache httpd + mod_jk in front of the jboss servers, used to limit servers exposed + a loadbalancer (F5 ASM) in front of those. The apache servers are only configured to talk to one jboss server each (httpd + jboss are on same box, they only talk to the local client). the f5 serving the initial request is configured for pure round robin (no cookie persistence) and as a result request 1 could go to server 1 and then request 2 goes to server 2.
Now assume that the two jboss servers are clustered together, the EJBs are clustered and have a cache policy (based on the JBoss annotations). They only have local interfaces. In addition, there are some classes that are only POJOs; but they sit in the ejb module. Based on what's happening these objects should be replicated as part of the HTTP session state.
A few problems seem to occur when the request goes to the second server after the first request goes to the first server.
1. References to the resources required by the EJBs are not injected in the second server. This includes members decorated @Resource or @PersistenceContext
2. References to EJBs required at the view level are not restored.
In addition, concurrent modification exceptions seem to be more likely when deployed like this, resulting in having to downgrade EJBs to POJOs in order to remain stateful.