[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Messages are lost on Queue?
jmesnil
do-not-reply at jboss.com
Fri Feb 20 11:46:21 EST 2009
an update about this issue (using trunk r5910).
1. ant runServer
2. ant perfListener -Ddrain.queue=false
3. Ctl+C the perfListener task
=> on the server side, a RemotingServiceImpl.connectionDestroyed() is triggered
* the connection is removed from RemotingServiceImpl connections collection
* connection.destroy() is called => this won't call the listeners on the connection (no clean up)
Since the connection has been removed from the connections collection, the FailedConnectionTask will never check if it has expired, it won't call fail() on the connection which is the place where the associated resources are cleaned-up.
in short, the server will never clean up things when the client is Ctl+C.
A fix would be to keep the connection in the connections when RemotingServiceImpl.connectionDestroy() is called and let the FailedConnectionTask a chance to clean up after that.
One thing I don't understand: why is a connection detected as failed by the ConnectionFailedTask not removed from the connections?
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4211888#4211888
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4211888
More information about the jboss-dev-forums
mailing list