[
https://jira.jboss.org/jira/browse/JBMESSAGING-1732?page=com.atlassian.ji...
]
Howard Gao commented on JBMESSAGING-1732:
-----------------------------------------
Here is how i want to fix it:
On creation of each remote connection, register an ExceptionListener. The listener's
onException() method will be called if the connection has a problem.
In onException(), first suspend all suckers that associated with this connection and then
stop the connection. Suspending suckers means we stop and close the cosumer, but we
don't stop the producer, because the producer is always local.
Then we start to retry the connection. We provide two parameters in messaging-service.xml,
one is retry times (default -1, means retry forever), the other is retry interval
(millis).
Once retry successful, we resume the suckers, meaning we use the new session to create new
consumers and restore the consuming state of the suckers.
Message Sucker should be able to re-connect once it's connection
is broken.
---------------------------------------------------------------------------
Key: JBMESSAGING-1732
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1732
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3.CP08, 1.4.4.GA
Reporter: Howard Gao
Assignee: Howard Gao
Fix For: 1.4.0.SP3.CP09, 1.4.5.GA
The connection that message suckers uses to pull messages from other nodes in the cluster
is created once and for all. If the connection is broken, the messages will not be pulled
away. Actually it should try reconnect whenever a broken connection is found.
--
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