"thammoud" wrote :
| if we restart the server from under the client and the server comes back in
less time than the ping period (Very possible), then the client's JMS
connection listener does not get called yet the connection is invalid.
|
Hmmm. I think what you're seeing is due to the fact that the socket transport
uses a connection pool. If you shut down the server gracefully, the client
should detect that existing connections are stale, and the next invocation by
ConnectionValidator should get a new connection to the new server and, since
the invocation succeeds, there's no notification.
But the JBM client should experience the same behavior. Are you actually
seeing a case where "the client's JMS connection listener does not get called
yet the connection is invalid" ?
By the way, I have a couple of problems with your proposed fix.
"thammoud" wrote :
| Make the tt (WaitOnConnectionCheckTimerTask) a class member (Must be
volatile).
|
There could be multiple instances of ConnectionValidator in the same JVM, each
connected to a different server.
"thammoud" wrote :
| Add while(tt != null) {}
|
NO BUSY WAITS!!! :)
Anyway, if you set validatorPingPeriod to be longer than validatorPingTimeout,
I don't think that would be necessary.
-Ron
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4216412#4216412
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4216412
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user