[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: PingStressTests hanging
trustin
do-not-reply at jboss.com
Fri Mar 6 08:28:47 EST 2009
I've just checked in the fix: http://fisheye.jboss.org/changelog/Messaging/trunk?cs=6017
To shut down a ChannelFactory, all Netty channels must be closed, including server sockets and accepted / connected sockets. I made sure all channels are added to a ChannelGroup so that they are closed before ChannelFactory is shut down.
To achieve this behavior, I modified MessagingChannelHandler to override channelOpen() handler method and added a Channel to a ChannelGroup which was specified in the constructor. Because the previous NettyConnector implementation didn't have a ChannelGroup field, I added one and called ChannelGroup.close() to clean up all connections.
On the other hand, there's a convenience method called 'releaseExternalResources()' in ChannelFactory. It shuts down all Executors which were specified in the ChannelFactory's constructor. I replaced the verbose shutdown / awaitTermination loop with that. I hope you like it.
After the modification, I confirmed the PingStressTest passes with no freeze. With 100 iterations, it took about 3 minutes to finish in my Intel Core 2 Quad processor.
View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4215703#4215703
Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4215703
More information about the jboss-dev-forums
mailing list