[
https://jira.jboss.org/jira/browse/JBSEAM-3172?page=com.atlassian.jira.pl...
]
Dan Allen commented on JBSEAM-3172:
-----------------------------------
Ah, this is a tricky one. It's one of those nice gaps in the Java EE spec. When a
session is destroyed, it might just be that the node in the cluster is shutting down and
that the session has already failed over to another node. The listener can't tell us
that, so we have to go to JMX. I took your idea and ran with it and now detect when the
node is shutting down and if we are the last node.
Important point: You must invoke the shutdown() method on jboss.system:type=Server to take
down the node. If you terminate the node with a process signal, there is no way to detect
it in JMX (that I can find).
Btw, according to my tests, you don't need to prevent the application context from
being destroyed, just the session context.
Shutting down cluster node gracefully, causes NoSuchEJBException on
next request
--------------------------------------------------------------------------------
Key: JBSEAM-3172
URL:
https://jira.jboss.org/jira/browse/JBSEAM-3172
Project: Seam
Issue Type: Bug
Components: Performance and Scalability
Affects Versions: 2.0.3.CR1
Environment: OS: Linux (RHEL 5), JBoss 4.2.2, Seam 2.0.3-SNAPSHOT (same for
2.0.2.SP1, 2.0.3.CR1)
Reporter: Nikolay Elenkov
Assignee: Dan Allen
Fix For: 2.1.1.CR2
Application (ear) is deployed to a two node JBoss cluster.
Setup:
1. two nodes (node1, node2)
2. load balancing/failover by Apache with mod_jk
3. sticky sessions
4. session replication confirmed to work for http session and SFSB (by JBoss trace log)
5. shared database
Steps to reproduce:
1. login to app, go to same page backed by a SFSB, start new conversation
2. enter some data (saved in SFSB fields)
3. stop JBoss on node1 gracefully (shutdown.sh)
4. click submit
5. NoSuchEJBException: "Could not find stateful bean:
4sv1g5o-jqzric-fhyhsk09-1-fhyhunhd-9"
The next request, creates a new SFSB/conversation and it works as expected from there.
Note that if I kill -s 9 JBoss, SFSB's are not removed and failover works as
expected.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira