You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by ni...@apache.org on 2014/04/17 16:51:04 UTC
[3/4] git commit: CXF-5699 IdleStateHandler should not be shared
across the channels
CXF-5699 IdleStateHandler should not be shared across the channels
Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/e2b52647
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/e2b52647
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/e2b52647
Branch: refs/heads/master
Commit: e2b526476defbb109e71cd12a72dd78b8c0d4c66
Parents: 19a66ba
Author: Willem Jiang <wi...@gmail.com>
Authored: Thu Apr 17 22:36:52 2014 +0800
Committer: Willem Jiang <wi...@gmail.com>
Committed: Thu Apr 17 22:50:46 2014 +0800
----------------------------------------------------------------------
.../http/netty/server/NettyHttpServerEngine.java | 8 ++------
.../netty/server/NettyHttpServletPipelineFactory.java | 13 +++++++------
2 files changed, 9 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cxf/blob/e2b52647/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
----------------------------------------------------------------------
diff --git a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
index ee77148..8434060 100644
--- a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
+++ b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServerEngine.java
@@ -40,7 +40,6 @@ import io.netty.channel.ChannelOption;
import io.netty.channel.EventLoopGroup;
import io.netty.channel.nio.NioEventLoopGroup;
import io.netty.channel.socket.nio.NioServerSocketChannel;
-import io.netty.handler.timeout.IdleStateHandler;
public class NettyHttpServerEngine implements ServerEngine {
@@ -151,17 +150,14 @@ public class NettyHttpServerEngine implements ServerEngine {
bootstrap.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.option(ChannelOption.SO_REUSEADDR, true);
-
- // Set up the idle handler
- IdleStateHandler idleStateHandler =
- new IdleStateHandler(getReadIdleTime(), getWriteIdleTime(), 0);
+
// Set up the event pipeline factory.
servletPipeline =
new NettyHttpServletPipelineFactory(
tlsServerParameters, sessionSupport,
threadingParameters.getThreadPoolSize(),
maxChunkContentSize,
- handlerMap, idleStateHandler);
+ handlerMap, this);
// Start the servletPipeline's timer
servletPipeline.start();
bootstrap.childHandler(servletPipeline);
http://git-wip-us.apache.org/repos/asf/cxf/blob/e2b52647/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletPipelineFactory.java
----------------------------------------------------------------------
diff --git a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletPipelineFactory.java b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletPipelineFactory.java
index 7d9be18..600b47c 100644
--- a/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletPipelineFactory.java
+++ b/rt/transports/http-netty/netty-server/src/main/java/org/apache/cxf/transport/http/netty/server/NettyHttpServletPipelineFactory.java
@@ -35,7 +35,6 @@ import org.apache.cxf.transport.http.netty.server.session.HttpSessionStore;
import org.apache.cxf.transport.https.SSLUtils;
import io.netty.channel.Channel;
-import io.netty.channel.ChannelHandler;
import io.netty.channel.ChannelInitializer;
import io.netty.channel.ChannelPipeline;
import io.netty.channel.group.ChannelGroup;
@@ -58,8 +57,6 @@ public class NettyHttpServletPipelineFactory extends ChannelInitializer<Channel>
private final ChannelGroup allChannels = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);;
private final HttpSessionWatchdog watchdog;
-
- private final ChannelHandler idleStateHandler;
private final TLSServerParameters tlsServerParameters;
@@ -71,16 +68,18 @@ public class NettyHttpServletPipelineFactory extends ChannelInitializer<Channel>
private final EventExecutorGroup applicationExecutor;
+ private final NettyHttpServerEngine nettyHttpServerEngine;
+
public NettyHttpServletPipelineFactory(TLSServerParameters tlsServerParameters,
boolean supportSession, int threadPoolSize, int maxChunkContentSize,
Map<String, NettyHttpContextHandler> handlerMap,
- IdleStateHandler idleStateHandler) {
+ NettyHttpServerEngine engine) {
this.supportSession = supportSession;
- this.idleStateHandler = idleStateHandler;
this.watchdog = new HttpSessionWatchdog();
this.handlerMap = handlerMap;
this.tlsServerParameters = tlsServerParameters;
this.maxChunkContentSize = maxChunkContentSize;
+ this.nettyHttpServerEngine = engine;
//TODO need to configure the thread size of EventExecutorGroup
applicationExecutor = new DefaultEventExecutorGroup(16);
}
@@ -151,7 +150,9 @@ public class NettyHttpServletPipelineFactory extends ChannelInitializer<Channel>
// Remove the following line if you don't want automatic content
// compression.
pipeline.addLast("deflater", new HttpContentCompressor());
- pipeline.addLast("idle", this.idleStateHandler);
+ // Set up the idle handler
+ pipeline.addLast("idle", new IdleStateHandler(nettyHttpServerEngine.getReadIdleTime(),
+ nettyHttpServerEngine.getWriteIdleTime(), 0));
return pipeline;
}