You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by je...@apache.org on 2013/01/24 19:03:20 UTC
git commit: Enhance NettyServer shutdown procedure as it did never
exit from its shutdown procedure
Updated Branches:
refs/heads/trunk 8bf822734 -> 07a399546
Enhance NettyServer shutdown procedure as it did never exit from its shutdown procedure
Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/07a39954
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/07a39954
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/07a39954
Branch: refs/heads/trunk
Commit: 07a39954697247f89c51b10e019a6fc4b89e48f7
Parents: 8bf8227
Author: Jeff MAURY <je...@apache.org>
Authored: Thu Jan 24 18:57:59 2013 +0100
Committer: Jeff MAURY <je...@apache.org>
Committed: Thu Jan 24 19:02:54 2013 +0100
----------------------------------------------------------------------
.../org/apache/mina/core/NettyBenchmarkServer.java | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mina/blob/07a39954/benchmarks/src/test/java/org/apache/mina/core/NettyBenchmarkServer.java
----------------------------------------------------------------------
diff --git a/benchmarks/src/test/java/org/apache/mina/core/NettyBenchmarkServer.java b/benchmarks/src/test/java/org/apache/mina/core/NettyBenchmarkServer.java
index 62229b9..44860a3 100644
--- a/benchmarks/src/test/java/org/apache/mina/core/NettyBenchmarkServer.java
+++ b/benchmarks/src/test/java/org/apache/mina/core/NettyBenchmarkServer.java
@@ -27,6 +27,7 @@ import java.util.Map;
import org.jboss.netty.bootstrap.ServerBootstrap;
import org.jboss.netty.buffer.ChannelBuffer;
import org.jboss.netty.buffer.ChannelBuffers;
+import org.jboss.netty.channel.Channel;
import org.jboss.netty.channel.ChannelFactory;
import org.jboss.netty.channel.ChannelHandlerContext;
import org.jboss.netty.channel.ChannelPipeline;
@@ -37,6 +38,8 @@ import org.jboss.netty.channel.ChildChannelStateEvent;
import org.jboss.netty.channel.ExceptionEvent;
import org.jboss.netty.channel.MessageEvent;
import org.jboss.netty.channel.SimpleChannelUpstreamHandler;
+import org.jboss.netty.channel.group.ChannelGroup;
+import org.jboss.netty.channel.group.DefaultChannelGroup;
import org.jboss.netty.channel.socket.nio.NioServerSocketChannelFactory;
/**
@@ -60,6 +63,8 @@ public class NettyBenchmarkServer implements BenchmarkServer {
private ChannelFactory factory;
+ private ChannelGroup allChannels = new DefaultChannelGroup();
+
/**
* Allocate a map as attachment for storing attributes.
*
@@ -104,6 +109,7 @@ public class NettyBenchmarkServer implements BenchmarkServer {
public void channelOpen(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {
System.out.println("channelOpen");
setAttribute(ctx, STATE_ATTRIBUTE, State.WAIT_FOR_FIRST_BYTE_LENGTH);
+ allChannels.add(ctx.getChannel());
}
@Override
@@ -157,19 +163,25 @@ public class NettyBenchmarkServer implements BenchmarkServer {
}
@Override
+ public void channelClosed(ChannelHandlerContext ctx, ChannelStateEvent e) throws Exception {
+ allChannels.remove(ctx.getChannel());
+ }
+
+ @Override
public void exceptionCaught(ChannelHandlerContext ctx, ExceptionEvent e) throws Exception {
e.getCause().printStackTrace();
}
});
}
});
- bootstrap.bind(new InetSocketAddress(port));
+ allChannels.add(bootstrap.bind(new InetSocketAddress(port)));
}
/**
* {@inheritedDoc}
*/
public void stop() throws IOException {
+ allChannels.disconnect().awaitUninterruptibly();
factory.releaseExternalResources();
}
}