-
Task
-
Resolution: Done
-
Major
-
JBossAS-4.2.0.GA, JBossAS-4.2.1.GA, JBossAS-4.2.2.GA, JBossAS-4.2.3.GA
-
None
Suppose we have a web application which uses stateful session beans, and we have a HttpSessionListener like this:
public void sessionDestroyed(HttpSessionEvent event) {
event.getSession().getAttribute("sfsb").remove(); // Make sure to call SFSB's @Remove method
}
This behavior is what Seam does.
The HttpSessionListener.sessionDestroyed() would be called in session invalidation, session timeout and during undeploy/shutdown for cleaning up local resources. This happens in both cases, clustered and non-clustered .
However, in clustered environment, the sfsb.remove() method call in HttpSessionListener becomes a cluster-wide operation. So when we shutdown one node, HttpSession is still available on the other node for fail over but SFSB is missing. As a result we will get javax.ejb.NoSuchEJBException: Could not find stateful bean.
- is incorporated by
-
JBPAPP-1225 Configurable Blocking of Local HTTP Session Destruction Messages Upon Undeploy/Shutdown
- Resolved
- relates to
-
JBAS-6294 Use Of IgnoreUndeployLegacyClusteredSessionNotificationPolicy Causes StackOverflow Errors
- Closed