-
Bug
-
Resolution: Done
-
Major
-
None
-
None
In case that a sfsb nested bean (a stateful bean which is injected into other bean in this case into a clustered bean) changes its attribute (member variable) in @PrePassivate method then the new state is not replicated to other nodes.
You can check my testcase:
https://github.com/ochaloup/jboss-as/blob/67f992608bacc2bce95b0d7655083a83e70367e0/testsuite/integration/clust/src/test/java/org/jboss/as/test/clustering/cluster/ejb3/stateful/passivation/ClusterPassivationTestCase.java
The steps done in tests are following:
1) Search for stateful bean (a "parent" bean for the nested one, bean where the nested one is injected to)
2) Let the stateful bean be passivated (in this time the nested bean is passivated as well, the @PrePassivate method is called)
3) A variable of the nested bean is changed in the @PrePassivate method
4) Do a call on second node - changed state isn't on the other node
You can check it in the linked test. When no method on nested been is called (the call is commented now):
https://github.com/ochaloup/jboss-as/blob/67f992608bacc2bce95b0d7655083a83e70367e0/testsuite/integration/clust/src/test/java/org/jboss/as/test/clustering/cluster/ejb3/stateful/passivation/ClusterPassivationTestCase.java#L305
Then the test on the changed attribute fails on the other server:
https://github.com/ochaloup/jboss-as/blob/67f992608bacc2bce95b0d7655083a83e70367e0/testsuite/integration/clust/src/test/java/org/jboss/as/test/clustering/cluster/ejb3/stateful/passivation/ClusterPassivationTestCase.java#L318
- is blocked by
-
WFLY-2298 Redesign @Stateful EJB clustering
- Closed