[
http://jira.jboss.com/jira/browse/JBCLUSTER-155?page=comments#action_1234... ]
Brian Stansberry commented on JBCLUSTER-155:
--------------------------------------------
From looking at this stack trace and the code, it looks like some
issue in the ProducerProxy and ProducerManagerImpl where an attempt is being made to use a
closed session. Probably the session is closed because the JMS server failed over when you
shut down the first instance. Somewhere in the code there needs to be a check for a failed
JMS connection (which happens for sure when the JMS server fails over) and a reconnect. I
don't know enough about this code to know where that should be -- in the test beans in
this ProducerProxy/ProducerManager stuff.
I'll attach a simple JMS client class that illustrates how to detect a failover and
reconnect. Again, I don't know where in your code this should be implemented. The
implementation of reconnecting will almost for sure be different from the attached class;
the attached class is more to demonstrate how to be aware of a failure.
If you think this reconnect should be done in the org.jboss.ejb3 code, please open a forum
thread to discuss, and if necessary, a JIRA issue in the EJB3 project.
EJBTransactionRolledBackException in EJB3 application after bringing
down the first member of the cluster.
----------------------------------------------------------------------------------------------------------
Key: JBCLUSTER-155
URL:
http://jira.jboss.com/jira/browse/JBCLUSTER-155
Project: JBoss Clustering
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: Q4Y6
Environment: Clustering QA Lab. Linux x86_64 on Sun jdk 1.5
Reporter: Phillip Thurmond
Assigned To: Brian Stansberry
Using the ejb3 application at
https://svn.jboss.org/repos/qa/ejb3demo . JBoss 4.0.5.GA
with ejb3 from
https://svn.jboss.org/repos/jbossas/tags/JBoss_4_0_5_GA_EJBTHREE-798/ .
I create two identical server configurations for the ejb3demo application from the all
config. I enable query caching in persistence.xml. To reproduce:
1. start up first instance, place order.
2. start up second instance, watch for cluster notification and join. Place order on
second and first instances.
3. bring down first instance, watch for cluster removal messages on second host. Place
order and receive an EJBTransactionRolledBackException in the browser. No stack traces or
error messages are logged on the console.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira