[jboss-cvs] JBoss Messaging SVN: r4853 - trunk/src/main/org/jboss/messaging/core/remoting/impl/netty.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Aug 20 05:51:33 EDT 2008


Author: trustin
Date: 2008-08-20 05:51:33 -0400 (Wed, 20 Aug 2008)
New Revision: 4853

Modified:
   trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java
   trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java
Log:
Made sure a boss executor of Netty acceptor and connector is terminated on stop/close

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java	2008-08-20 08:42:04 UTC (rev 4852)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyAcceptor.java	2008-08-20 09:51:33 UTC (rev 4853)
@@ -27,6 +27,7 @@
 import java.net.InetSocketAddress;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 
 import javax.net.ssl.SSLContext;
 
@@ -158,6 +159,20 @@
       serverChannel.close().awaitUninterruptibly();
       bossExecutor.shutdown();
       workerExecutor.shutdown();
+      for (;;)
+      {
+         try
+         {
+            if (bossExecutor.awaitTermination(1, TimeUnit.SECONDS))
+            {
+               break;
+            }
+         }
+         catch (InterruptedException e)
+         {
+            // Ignore
+         }
+      }
       channelFactory = null;
    }
 

Modified: trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java	2008-08-20 08:42:04 UTC (rev 4852)
+++ trunk/src/main/org/jboss/messaging/core/remoting/impl/netty/NettyConnector.java	2008-08-20 09:51:33 UTC (rev 4853)
@@ -26,6 +26,7 @@
 import java.net.InetSocketAddress;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.TimeUnit;
 
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.SSLException;
@@ -179,6 +180,21 @@
       channelFactory = null;
       bossExecutor.shutdown();
       workerExecutor.shutdown();
+
+      for (;;)
+      {
+         try
+         {
+            if (bossExecutor.awaitTermination(1, TimeUnit.SECONDS))
+            {
+               break;
+            }
+         }
+         catch (InterruptedException e)
+         {
+            // Ignore
+         }
+      }
    }
 
    public Connection createConnection()




More information about the jboss-cvs-commits mailing list