[jboss-cvs] JBoss Messaging SVN: r7577 - trunk/src/main/org/jboss/messaging/integration/transports/netty.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Jul 16 05:38:21 EDT 2009
Author: jmesnil
Date: 2009-07-16 05:38:21 -0400 (Thu, 16 Jul 2009)
New Revision: 7577
Modified:
trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyAcceptor.java
Log:
NettyAcceptor start/stop fix
* use a VirtualExecutorService to wrap the thread pool in start()
* call channelFactory.releaseExternalResources() to shutdown the VirtualExecutorService in stop()
Modified: trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyAcceptor.java
===================================================================
--- trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyAcceptor.java 2009-07-15 14:03:24 UTC (rev 7576)
+++ trunk/src/main/org/jboss/messaging/integration/transports/netty/NettyAcceptor.java 2009-07-16 09:38:21 UTC (rev 7577)
@@ -73,6 +73,7 @@
* @author <a href="ataylor at redhat.com">Andy Taylor</a>
* @author <a href="tim.fox at jboss.com">Tim Fox</a>
* @author <a href="tlee at redhat.com">Trustin Lee</a>
+ * @author <a href="jmesnil at redhat.com">Jeff Mesnil</a>
* @version $Rev$, $Date$
*/
public class NettyAcceptor implements Acceptor
@@ -129,8 +130,6 @@
private final Executor threadPool;
- private final ScheduledExecutorService scheduledThreadPool;
-
public NettyAcceptor(final Map<String, Object> configuration,
final BufferHandler handler,
final ConnectionLifeCycleListener listener,
@@ -141,8 +140,6 @@
this.listener = listener;
- this.scheduledThreadPool = scheduledThreadPool;
-
this.sslEnabled = ConfigurationHelper.getBooleanProperty(TransportConstants.SSL_ENABLED_PROP_NAME,
TransportConstants.DEFAULT_SSL_ENABLED,
configuration);
@@ -159,7 +156,7 @@
TransportConstants.DEFAULT_HTTP_RESPONSE_TIME,
configuration);
httpKeepAliveRunnable = new HttpKeepAliveRunnable();
- Future<?> future = this.scheduledThreadPool.scheduleAtFixedRate(httpKeepAliveRunnable, httpServerScanPeriod, httpServerScanPeriod, TimeUnit.MILLISECONDS);
+ Future<?> future = scheduledThreadPool.scheduleAtFixedRate(httpKeepAliveRunnable, httpServerScanPeriod, httpServerScanPeriod, TimeUnit.MILLISECONDS);
httpKeepAliveRunnable.setFuture(future);
}
else
@@ -225,17 +222,19 @@
return;
}
+ VirtualExecutorService virtualExecutor = new VirtualExecutorService(threadPool);
+
if (useInvm)
{
channelFactory = new DefaultLocalServerChannelFactory();
}
else if (useNio)
{
- channelFactory = new NioServerSocketChannelFactory(threadPool, threadPool);
+ channelFactory = new NioServerSocketChannelFactory(virtualExecutor, virtualExecutor);
}
else
{
- channelFactory = new OioServerSocketChannelFactory(threadPool, threadPool);
+ channelFactory = new OioServerSocketChannelFactory(virtualExecutor, virtualExecutor);
}
bootstrap = new ServerBootstrap(channelFactory);
@@ -373,7 +372,7 @@
if (!paused)
{
- pause();
+ serverChannelGroup.close().awaitUninterruptibly();
}
if (httpKeepAliveRunnable != null)
@@ -396,7 +395,8 @@
}
}
}
-
+
+ channelFactory.releaseExternalResources();
channelFactory = null;
for (Connection connection : connections.values())
More information about the jboss-cvs-commits
mailing list