You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/01/24 18:33:39 UTC
camel git commit: CAMEL-7054 - CamelNetty - No way to get ChannelGroup
Repository: camel
Updated Branches:
refs/heads/master 45bd634f7 -> 58b0f8d63
CAMEL-7054 - CamelNetty - No way to get ChannelGroup
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/58b0f8d6
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/58b0f8d6
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/58b0f8d6
Branch: refs/heads/master
Commit: 58b0f8d635fe990273d1778e3d3ecf2e08313f7e
Parents: 45bd634
Author: lburgazzoli <lb...@gmail.com>
Authored: Sun Jan 24 16:41:45 2016 +0100
Committer: lburgazzoli <lb...@gmail.com>
Committed: Sun Jan 24 17:29:03 2016 +0100
----------------------------------------------------------------------
.../netty/NettyServerBootstrapConfiguration.java | 14 ++++++++++++++
.../netty/SingleTCPNettyServerBootstrapFactory.java | 11 +++++++++--
.../netty/SingleUDPNettyServerBootstrapFactory.java | 11 +++++++++--
.../netty4/NettyServerBootstrapConfiguration.java | 14 ++++++++++++++
.../netty4/SingleTCPNettyServerBootstrapFactory.java | 12 +++++++++---
.../camel/component/netty4/NettyProducerHangTest.java | 2 +-
6 files changed, 56 insertions(+), 8 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/58b0f8d6/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
index 29aa309..7b4834c 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyServerBootstrapConfiguration.java
@@ -24,6 +24,7 @@ import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriParams;
import org.apache.camel.spi.UriPath;
import org.apache.camel.util.jsse.SSLContextParameters;
+import org.jboss.netty.channel.group.ChannelGroup;
import org.jboss.netty.channel.socket.nio.BossPool;
import org.jboss.netty.channel.socket.nio.WorkerPool;
import org.jboss.netty.handler.ssl.SslHandler;
@@ -99,6 +100,8 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
@UriParam(label = "consumer,advanced")
protected WorkerPool workerPool;
@UriParam(label = "consumer,advanced")
+ protected ChannelGroup channelGroup;
+ @UriParam(label = "consumer,advanced")
protected String networkInterface;
public String getAddress() {
@@ -468,6 +471,17 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
this.workerPool = workerPool;
}
+ public ChannelGroup getChannelGroup() {
+ return channelGroup;
+ }
+
+ /**
+ * To use a explicit ChannelGroup.
+ */
+ public void setChannelGroup(ChannelGroup channelGroup) {
+ this.channelGroup = channelGroup;
+ }
+
public String getNetworkInterface() {
return networkInterface;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/58b0f8d6/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleTCPNettyServerBootstrapFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleTCPNettyServerBootstrapFactory.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleTCPNettyServerBootstrapFactory.java
index 97f3395..3a74b0f 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleTCPNettyServerBootstrapFactory.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleTCPNettyServerBootstrapFactory.java
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
protected static final Logger LOG = LoggerFactory.getLogger(SingleTCPNettyServerBootstrapFactory.class);
- private final ChannelGroup allChannels;
+ private ChannelGroup allChannels;
private CamelContext camelContext;
private ThreadFactory threadFactory;
private NettyServerBootstrapConfiguration configuration;
@@ -54,19 +54,26 @@ public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport impleme
private WorkerPool workerPool;
public SingleTCPNettyServerBootstrapFactory() {
- this.allChannels = new DefaultChannelGroup(SingleTCPNettyServerBootstrapFactory.class.getName());
}
public void init(CamelContext camelContext, NettyServerBootstrapConfiguration configuration, ChannelPipelineFactory pipelineFactory) {
this.camelContext = camelContext;
this.configuration = configuration;
this.pipelineFactory = pipelineFactory;
+
+ this.allChannels = configuration.getChannelGroup() != null
+ ? configuration.getChannelGroup()
+ : new DefaultChannelGroup(SingleTCPNettyServerBootstrapFactory.class.getName());
}
public void init(ThreadFactory threadFactory, NettyServerBootstrapConfiguration configuration, ChannelPipelineFactory pipelineFactory) {
this.threadFactory = threadFactory;
this.configuration = configuration;
this.pipelineFactory = pipelineFactory;
+
+ this.allChannels = configuration.getChannelGroup() != null
+ ? configuration.getChannelGroup()
+ : new DefaultChannelGroup(SingleTCPNettyServerBootstrapFactory.class.getName());
}
public void addChannel(Channel channel) {
http://git-wip-us.apache.org/repos/asf/camel/blob/58b0f8d6/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleUDPNettyServerBootstrapFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleUDPNettyServerBootstrapFactory.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleUDPNettyServerBootstrapFactory.java
index 00b8440..ada56d1 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleUDPNettyServerBootstrapFactory.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/SingleUDPNettyServerBootstrapFactory.java
@@ -49,7 +49,7 @@ public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport impleme
protected static final Logger LOG = LoggerFactory.getLogger(SingleUDPNettyServerBootstrapFactory.class);
private static final String LOOPBACK_INTERFACE = "lo";
private static final String MULTICAST_SUBNET = "224.0.0.0/4";
- private final ChannelGroup allChannels;
+ private ChannelGroup allChannels;
private CamelContext camelContext;
private ThreadFactory threadFactory;
private NettyServerBootstrapConfiguration configuration;
@@ -62,19 +62,26 @@ public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport impleme
private WorkerPool workerPool;
public SingleUDPNettyServerBootstrapFactory() {
- this.allChannels = new DefaultChannelGroup(SingleUDPNettyServerBootstrapFactory.class.getName());
}
public void init(CamelContext camelContext, NettyServerBootstrapConfiguration configuration, ChannelPipelineFactory pipelineFactory) {
this.camelContext = camelContext;
this.configuration = configuration;
this.pipelineFactory = pipelineFactory;
+
+ this.allChannels = configuration.getChannelGroup() != null
+ ? configuration.getChannelGroup()
+ : new DefaultChannelGroup(SingleUDPNettyServerBootstrapFactory.class.getName());
}
public void init(ThreadFactory threadFactory, NettyServerBootstrapConfiguration configuration, ChannelPipelineFactory pipelineFactory) {
this.threadFactory = threadFactory;
this.configuration = configuration;
this.pipelineFactory = pipelineFactory;
+
+ this.allChannels = configuration.getChannelGroup() != null
+ ? configuration.getChannelGroup()
+ : new DefaultChannelGroup(SingleUDPNettyServerBootstrapFactory.class.getName());
}
public void addChannel(Channel channel) {
http://git-wip-us.apache.org/repos/asf/camel/blob/58b0f8d6/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
index 5221040..5db1452 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyServerBootstrapConfiguration.java
@@ -20,6 +20,7 @@ import java.io.File;
import java.util.Map;
import io.netty.channel.EventLoopGroup;
+import io.netty.channel.group.ChannelGroup;
import io.netty.handler.ssl.SslHandler;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriParam;
@@ -97,6 +98,8 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
@UriParam(label = "consumer,advanced")
protected EventLoopGroup workerGroup;
@UriParam(label = "consumer,advanced")
+ protected ChannelGroup channelGroup;
+ @UriParam(label = "consumer,advanced")
protected String networkInterface;
@UriParam(label = "consumer", defaultValue = "true")
private boolean reconnect = true;
@@ -485,6 +488,17 @@ public class NettyServerBootstrapConfiguration implements Cloneable {
this.workerGroup = workerGroup;
}
+ public ChannelGroup getChannelGroup() {
+ return channelGroup;
+ }
+
+ /**
+ * To use a explicit ChannelGroup.
+ */
+ public void setChannelGroup(ChannelGroup channelGroup) {
+ this.channelGroup = channelGroup;
+ }
+
public String getNetworkInterface() {
return networkInterface;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/58b0f8d6/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleTCPNettyServerBootstrapFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleTCPNettyServerBootstrapFactory.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleTCPNettyServerBootstrapFactory.java
index d97150b..9e10ced 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleTCPNettyServerBootstrapFactory.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleTCPNettyServerBootstrapFactory.java
@@ -41,7 +41,7 @@ import org.slf4j.LoggerFactory;
public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
protected static final Logger LOG = LoggerFactory.getLogger(SingleTCPNettyServerBootstrapFactory.class);
- private final ChannelGroup allChannels;
+ private ChannelGroup allChannels;
private CamelContext camelContext;
private ThreadFactory threadFactory;
private NettyServerBootstrapConfiguration configuration;
@@ -52,20 +52,26 @@ public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport impleme
private EventLoopGroup workerGroup;
public SingleTCPNettyServerBootstrapFactory() {
- // The executor just execute tasks in the callers thread
- this.allChannels = new DefaultChannelGroup(SingleTCPNettyServerBootstrapFactory.class.getName(), ImmediateEventExecutor.INSTANCE);
}
public void init(CamelContext camelContext, NettyServerBootstrapConfiguration configuration, ChannelInitializer<Channel> pipelineFactory) {
this.camelContext = camelContext;
this.configuration = configuration;
this.pipelineFactory = pipelineFactory;
+
+ this.allChannels = configuration.getChannelGroup() != null
+ ? configuration.getChannelGroup()
+ : new DefaultChannelGroup(SingleTCPNettyServerBootstrapFactory.class.getName(), ImmediateEventExecutor.INSTANCE);
}
public void init(ThreadFactory threadFactory, NettyServerBootstrapConfiguration configuration, ChannelInitializer<Channel> pipelineFactory) {
this.threadFactory = threadFactory;
this.configuration = configuration;
this.pipelineFactory = pipelineFactory;
+
+ this.allChannels = configuration.getChannelGroup() != null
+ ? configuration.getChannelGroup()
+ : new DefaultChannelGroup(SingleTCPNettyServerBootstrapFactory.class.getName(), ImmediateEventExecutor.INSTANCE);
}
public void addChannel(Channel channel) {
http://git-wip-us.apache.org/repos/asf/camel/blob/58b0f8d6/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyProducerHangTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyProducerHangTest.java b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyProducerHangTest.java
index 2f61963..d3a7b24 100644
--- a/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyProducerHangTest.java
+++ b/components/camel-netty4/src/test/java/org/apache/camel/component/netty4/NettyProducerHangTest.java
@@ -90,4 +90,4 @@ public class NettyProducerHangTest extends CamelTestSupport {
log.info("Close socket");
}
-}
+}
\ No newline at end of file