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/02/08 17:45:29 UTC
[1/5] camel git commit: CAMEL-9577: Only support suspension if a
component has custom logic
Repository: camel
Updated Branches:
refs/heads/master 8e479dfa7 -> c4f97a1cc
CAMEL-9577: Only support suspension if a component has custom logic
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/25350175
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/25350175
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/25350175
Branch: refs/heads/master
Commit: 25350175b61d49ebaf05e6d139a72d213d284bfd
Parents: bfcbb3f
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Feb 8 16:44:54 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Feb 8 17:45:20 2016 +0100
----------------------------------------------------------------------
.../component/disruptor/DisruptorConsumer.java | 4 +--
.../apache/camel/http/common/HttpConsumer.java | 12 ++++++---
.../apache/camel/component/jcr/JcrConsumer.java | 16 +-----------
.../apache/camel/component/jms/JmsConsumer.java | 4 +--
.../component/mllp/MllpTcpServerConsumer.java | 21 ---------------
...lientModeTCPNettyServerBootstrapFactory.java | 3 ++-
.../camel/component/netty/NettyConsumer.java | 3 ++-
.../SingleTCPNettyServerBootstrapFactory.java | 3 ++-
.../SingleUDPNettyServerBootstrapFactory.java | 11 +-------
.../camel/component/netty4/NettyConsumer.java | 3 ++-
.../camel/component/quartz/QuartzConsumer.java | 11 --------
.../camel/component/quartz2/QuartzConsumer.java | 11 --------
.../component/rabbitmq/RabbitMQConsumer.java | 27 ++++++++++----------
.../routebox/direct/RouteboxDirectConsumer.java | 4 +--
14 files changed, 38 insertions(+), 95 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java
index 3806d50..d4f0415 100644
--- a/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java
+++ b/components/camel-disruptor/src/main/java/org/apache/camel/component/disruptor/DisruptorConsumer.java
@@ -25,7 +25,7 @@ import org.apache.camel.Consumer;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.ShutdownRunningTask;
-import org.apache.camel.SuspendableService;
+import org.apache.camel.Suspendable;
import org.apache.camel.spi.ExceptionHandler;
import org.apache.camel.spi.ShutdownAware;
import org.apache.camel.spi.Synchronization;
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
/**
* A Consumer for the Disruptor component.
*/
-public class DisruptorConsumer extends ServiceSupport implements Consumer, SuspendableService, ShutdownAware {
+public class DisruptorConsumer extends ServiceSupport implements Consumer, Suspendable, ShutdownAware {
private static final Logger LOGGER = LoggerFactory.getLogger(DisruptorConsumer.class);
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConsumer.java b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConsumer.java
index 3a2da8e..87dfd7c 100644
--- a/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConsumer.java
+++ b/components/camel-http-common/src/main/java/org/apache/camel/http/common/HttpConsumer.java
@@ -17,10 +17,10 @@
package org.apache.camel.http.common;
import org.apache.camel.Processor;
-import org.apache.camel.SuspendableService;
+import org.apache.camel.Suspendable;
import org.apache.camel.impl.DefaultConsumer;
-public class HttpConsumer extends DefaultConsumer implements SuspendableService {
+public class HttpConsumer extends DefaultConsumer implements Suspendable {
private volatile boolean suspended;
private boolean traceEnabled;
@@ -58,12 +58,16 @@ public class HttpConsumer extends DefaultConsumer implements SuspendableService
super.doStop();
}
- public void suspend() {
+ @Override
+ protected void doSuspend() throws Exception {
suspended = true;
+ super.doSuspend();
}
- public void resume() {
+ @Override
+ protected void doResume() throws Exception {
suspended = false;
+ super.doResume();
}
public boolean isSuspended() {
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrConsumer.java b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrConsumer.java
index fe53fff..1cf51e9 100644
--- a/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrConsumer.java
+++ b/components/camel-jcr/src/main/java/org/apache/camel/component/jcr/JcrConsumer.java
@@ -26,7 +26,6 @@ import javax.jcr.Session;
import javax.jcr.observation.EventListener;
import org.apache.camel.Processor;
-import org.apache.camel.SuspendableService;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.util.ObjectHelper;
import org.slf4j.Logger;
@@ -37,7 +36,7 @@ import org.slf4j.LoggerFactory;
*
* @version $Id$
*/
-public class JcrConsumer extends DefaultConsumer implements SuspendableService {
+public class JcrConsumer extends DefaultConsumer {
private static final Logger LOG = LoggerFactory.getLogger(JcrConsumer.class);
@@ -62,19 +61,6 @@ public class JcrConsumer extends DefaultConsumer implements SuspendableService {
unregisterListenerAndLogoutSession();
}
- @Override
- protected void doSuspend() throws Exception {
- super.doSuspend();
- cancelSessionListenerChecker();
- unregisterListenerAndLogoutSession();
- }
-
- @Override
- protected void doResume() throws Exception {
- super.doResume();
- scheduleSessionListenerChecker();
- }
-
protected JcrEndpoint getJcrEndpoint() {
JcrEndpoint endpoint = (JcrEndpoint) getEndpoint();
return endpoint;
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
index 5d66555..85adeff 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConsumer.java
@@ -21,7 +21,7 @@ import javax.jms.Connection;
import org.apache.camel.FailedToCreateConsumerException;
import org.apache.camel.Processor;
-import org.apache.camel.SuspendableService;
+import org.apache.camel.Suspendable;
import org.apache.camel.impl.DefaultConsumer;
import org.springframework.jms.listener.AbstractMessageListenerContainer;
import org.springframework.jms.support.JmsUtils;
@@ -34,7 +34,7 @@ import org.springframework.jms.support.JmsUtils;
* @see DefaultJmsMessageListenerContainer
* @see SimpleJmsMessageListenerContainer
*/
-public class JmsConsumer extends DefaultConsumer implements SuspendableService {
+public class JmsConsumer extends DefaultConsumer implements Suspendable {
private volatile AbstractMessageListenerContainer listenerContainer;
private volatile EndpointMessageListener messageListener;
private volatile boolean initialized;
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
index e158dc3..afdc343 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpTcpServerConsumer.java
@@ -151,27 +151,6 @@ public class MllpTcpServerConsumer extends DefaultConsumer {
super.doStop();
}
- @Override
- protected void doSuspend() throws Exception {
- log.debug("doSuspend()");
-
- super.doSuspend();
- }
-
- @Override
- protected void doResume() throws Exception {
- log.debug("doResume()");
-
- super.doSuspend();
- }
-
- @Override
- protected void doShutdown() throws Exception {
- log.debug("doShutdown()");
-
- super.doShutdown();
- }
-
/**
* Nested Class to handle the ServerSocket.accept requests
*/
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-netty/src/main/java/org/apache/camel/component/netty/ClientModeTCPNettyServerBootstrapFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/ClientModeTCPNettyServerBootstrapFactory.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/ClientModeTCPNettyServerBootstrapFactory.java
index 0717f4b..7871a86 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/ClientModeTCPNettyServerBootstrapFactory.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/ClientModeTCPNettyServerBootstrapFactory.java
@@ -25,6 +25,7 @@ import java.util.concurrent.TimeUnit;
import org.apache.camel.CamelContext;
import org.apache.camel.CamelException;
+import org.apache.camel.Suspendable;
import org.apache.camel.support.ServiceSupport;
import org.jboss.netty.bootstrap.ClientBootstrap;
import org.jboss.netty.channel.Channel;
@@ -42,7 +43,7 @@ import org.slf4j.LoggerFactory;
/**
* A {@link org.apache.camel.component.netty.NettyServerBootstrapFactory} which is used by a single consumer (not shared).
*/
-public class ClientModeTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
+public class ClientModeTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory, Suspendable {
protected static final Logger LOG = LoggerFactory.getLogger(ClientModeTCPNettyServerBootstrapFactory.class);
private CamelContext camelContext;
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
index 84924da..c2cdd6f 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
@@ -18,12 +18,13 @@ package org.apache.camel.component.netty;
import org.apache.camel.CamelContext;
import org.apache.camel.Processor;
+import org.apache.camel.Suspendable;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.util.ServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class NettyConsumer extends DefaultConsumer {
+public class NettyConsumer extends DefaultConsumer implements Suspendable {
private static final Logger LOG = LoggerFactory.getLogger(NettyConsumer.class);
private CamelContext context;
private NettyConfiguration configuration;
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/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 3a74b0f..2c71430 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
@@ -21,6 +21,7 @@ import java.util.Map;
import java.util.concurrent.ThreadFactory;
import org.apache.camel.CamelContext;
+import org.apache.camel.Suspendable;
import org.apache.camel.support.ServiceSupport;
import org.jboss.netty.bootstrap.ServerBootstrap;
import org.jboss.netty.channel.Channel;
@@ -39,7 +40,7 @@ import org.slf4j.LoggerFactory;
/**
* A {@link NettyServerBootstrapFactory} which is used by a single consumer (not shared).
*/
-public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
+public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory, Suspendable {
protected static final Logger LOG = LoggerFactory.getLogger(SingleTCPNettyServerBootstrapFactory.class);
private ChannelGroup allChannels;
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/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 ada56d1..eb5f596 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
@@ -23,6 +23,7 @@ import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import org.apache.camel.CamelContext;
+import org.apache.camel.Suspendable;
import org.apache.camel.support.ServiceSupport;
import org.apache.camel.util.ObjectHelper;
import org.jboss.netty.bootstrap.ConnectionlessBootstrap;
@@ -113,16 +114,6 @@ public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport impleme
stopServerBootstrap();
}
- @Override
- protected void doResume() throws Exception {
- // noop
- }
-
- @Override
- protected void doSuspend() throws Exception {
- // noop
- }
-
protected void startServerBootstrap() throws Exception {
// create non-shared worker pool
int count = configuration.getWorkerCount() > 0 ? configuration.getWorkerCount() : NettyHelper.DEFAULT_IO_THREADS;
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
index 574e9dc..dad9d95 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
@@ -18,12 +18,13 @@ package org.apache.camel.component.netty4;
import org.apache.camel.CamelContext;
import org.apache.camel.Processor;
+import org.apache.camel.Suspendable;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.util.ServiceHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class NettyConsumer extends DefaultConsumer {
+public class NettyConsumer extends DefaultConsumer implements Suspendable {
private static final Logger LOG = LoggerFactory.getLogger(NettyConsumer.class);
private CamelContext context;
private NettyConfiguration configuration;
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java
index fe88eac..4f21133 100644
--- a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java
+++ b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsumer.java
@@ -40,20 +40,9 @@ public class QuartzConsumer extends DefaultConsumer {
}
@Override
- protected void doResume() throws Exception {
- super.doResume();
- getEndpoint().consumerStarted(this);
- }
-
- @Override
protected void doStop() throws Exception {
getEndpoint().consumerStopped(this);
super.doStop();
}
- @Override
- protected void doSuspend() throws Exception {
- getEndpoint().consumerStopped(this);
- super.doSuspend();
- }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzConsumer.java b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzConsumer.java
index af14186..d176ad8 100644
--- a/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzConsumer.java
+++ b/components/camel-quartz2/src/main/java/org/apache/camel/component/quartz2/QuartzConsumer.java
@@ -42,20 +42,9 @@ public class QuartzConsumer extends DefaultConsumer {
}
@Override
- protected void doResume() throws Exception {
- super.doResume();
- getEndpoint().onConsumerStart(this);
- }
-
- @Override
protected void doStop() throws Exception {
getEndpoint().onConsumerStop(this);
super.doStop();
}
- @Override
- protected void doSuspend() throws Exception {
- getEndpoint().onConsumerStop(this);
- super.doSuspend();
- }
}
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
index 24b2856..69d3a0b 100644
--- a/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
+++ b/components/camel-rabbitmq/src/main/java/org/apache/camel/component/rabbitmq/RabbitMQConsumer.java
@@ -27,9 +27,10 @@ import java.util.concurrent.atomic.AtomicBoolean;
import com.rabbitmq.client.Connection;
import org.apache.camel.Processor;
+import org.apache.camel.Suspendable;
import org.apache.camel.impl.DefaultConsumer;
-public class RabbitMQConsumer extends DefaultConsumer {
+public class RabbitMQConsumer extends DefaultConsumer implements Suspendable {
private ExecutorService executor;
private Connection conn;
private int closeTimeout = 30 * 1000;
@@ -108,13 +109,6 @@ public class RabbitMQConsumer extends DefaultConsumer {
this.consumers.add(consumer);
}
- @Override
- protected void doStart() throws Exception {
- executor = endpoint.createExecutor();
- log.debug("Using executor {}", executor);
- startConsumers();
- }
-
private synchronized void reconnect() {
if (startConsumerCallable != null) {
return;
@@ -126,11 +120,6 @@ public class RabbitMQConsumer extends DefaultConsumer {
executor.submit(startConsumerCallable);
}
- @Override
- protected void doResume() throws Exception {
- reconnect();
- }
-
/**
* If needed, close Connection and Channels
*/
@@ -160,6 +149,18 @@ public class RabbitMQConsumer extends DefaultConsumer {
}
@Override
+ protected void doResume() throws Exception {
+ reconnect();
+ }
+
+ @Override
+ protected void doStart() throws Exception {
+ executor = endpoint.createExecutor();
+ log.debug("Using executor {}", executor);
+ startConsumers();
+ }
+
+ @Override
protected void doStop() throws Exception {
closeConnectionAndChannel();
http://git-wip-us.apache.org/repos/asf/camel/blob/25350175/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectConsumer.java b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectConsumer.java
index 5d557d4..6c40c9c 100644
--- a/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectConsumer.java
+++ b/components/camel-routebox/src/main/java/org/apache/camel/component/routebox/direct/RouteboxDirectConsumer.java
@@ -20,13 +20,13 @@ import org.apache.camel.AsyncProcessor;
import org.apache.camel.Processor;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.ShutdownRunningTask;
-import org.apache.camel.SuspendableService;
+import org.apache.camel.Suspendable;
import org.apache.camel.component.routebox.RouteboxConsumer;
import org.apache.camel.component.routebox.RouteboxServiceSupport;
import org.apache.camel.spi.ShutdownAware;
import org.apache.camel.util.AsyncProcessorConverterHelper;
-public class RouteboxDirectConsumer extends RouteboxServiceSupport implements RouteboxConsumer, ShutdownAware, SuspendableService {
+public class RouteboxDirectConsumer extends RouteboxServiceSupport implements RouteboxConsumer, ShutdownAware, Suspendable {
protected ProducerTemplate producer;
private final Processor processor;
private volatile AsyncProcessor asyncProcessor;
[5/5] camel git commit: Add to javadoc about thread safety in a
processor in a route
Posted by da...@apache.org.
Add to javadoc about thread safety in a processor in a route
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c4f97a1c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c4f97a1c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c4f97a1c
Branch: refs/heads/master
Commit: c4f97a1cc3c80b9e961e6c98d8b14486b2cc0456
Parents: fdb19bf
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Feb 8 17:09:42 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Feb 8 17:45:21 2016 +0100
----------------------------------------------------------------------
camel-core/src/main/java/org/apache/camel/Processor.java | 4 ++++
1 file changed, 4 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/c4f97a1c/camel-core/src/main/java/org/apache/camel/Processor.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/Processor.java b/camel-core/src/main/java/org/apache/camel/Processor.java
index 244b383..9a6be96 100644
--- a/camel-core/src/main/java/org/apache/camel/Processor.java
+++ b/camel-core/src/main/java/org/apache/camel/Processor.java
@@ -21,6 +21,10 @@ package org.apache.camel;
* <a href="http://camel.apache.org/event-driven-consumer.html"> Event Driven Consumer</a>
* and <a href="http://camel.apache.org/message-translator.html"> Message Translator</a>
* patterns and to process message exchanges.
+ * <p/>
+ * Notice if you use a {@link Processor} in a Camel route, then make sure to write the {@link Processor}
+ * in a thread-safe way, as the Camel routes can potentially be executed by concurrent threads, and therefore
+ * multiple threads can call the same {@link Processor} instance.
*
* @version
*/
[3/5] camel git commit: CAMEL-9577: Only support suspension if a
component has custom logic
Posted by da...@apache.org.
CAMEL-9577: Only support suspension if a component has custom logic
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5973f141
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5973f141
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5973f141
Branch: refs/heads/master
Commit: 5973f1416b2233e5f34e357ec15e4d502cafd5b2
Parents: 8e479df
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Feb 8 15:10:58 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Feb 8 17:45:20 2016 +0100
----------------------------------------------------------------------
.../main/java/org/apache/camel/Suspendable.java | 31 ++++++++++++++++++++
.../org/apache/camel/SuspendableService.java | 5 +++-
.../camel/component/direct/DirectConsumer.java | 3 +-
.../component/directvm/DirectVmConsumer.java | 3 +-
.../camel/component/seda/SedaConsumer.java | 4 +--
.../apache/camel/impl/DefaultCamelContext.java | 11 +++++--
.../camel/impl/DefaultShutdownStrategy.java | 3 +-
.../camel/impl/EventDrivenConsumerRoute.java | 3 +-
.../camel/impl/ScheduledPollConsumer.java | 3 +-
.../camel/management/mbean/ManagedService.java | 5 ++--
.../org/apache/camel/util/ServiceHelper.java | 7 +++--
11 files changed, 62 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/Suspendable.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/Suspendable.java b/camel-core/src/main/java/org/apache/camel/Suspendable.java
new file mode 100644
index 0000000..c1030cd
--- /dev/null
+++ b/camel-core/src/main/java/org/apache/camel/Suspendable.java
@@ -0,0 +1,31 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel;
+
+/**
+ * Marker interface to indicate a custom component has custom implementation for suspending the {@link SuspendableService} service.
+ * <br/>
+ * This is needed to let Camel know if there is special code happening during a suspension.
+ * <p/>
+ * The {@link org.apache.camel.support.ServiceSupport} implementation that most Camel components / endpoints etc use
+ * as base class is a {@link SuspendableService} but the actual implementation may not have special logic for suspend.
+ * Therefore this marker interface is introduced to indicate when the implementation has special code for suspension.
+ *
+ * @see SuspendableService
+ */
+public interface Suspendable {
+}
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/SuspendableService.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/SuspendableService.java b/camel-core/src/main/java/org/apache/camel/SuspendableService.java
index 990910c..79e2cbd 100644
--- a/camel-core/src/main/java/org/apache/camel/SuspendableService.java
+++ b/camel-core/src/main/java/org/apache/camel/SuspendableService.java
@@ -24,8 +24,11 @@ package org.apache.camel;
* <p/>
* For example this is use by the JmsConsumer which suspends the Spring JMS listener instead of stopping
* the consumer totally.
+ * <p/>
+ * <b>Important:</b> The service should also implement the {@link Suspendable} marker interface to indicate
+ * the service supports suspension using custom code logic.
*
- * @version
+ * @see Suspendable
*/
public interface SuspendableService extends Service {
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java b/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java
index a5be34f..9b5c8d1 100644
--- a/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/direct/DirectConsumer.java
@@ -19,6 +19,7 @@ package org.apache.camel.component.direct;
import org.apache.camel.Endpoint;
import org.apache.camel.Processor;
import org.apache.camel.ShutdownRunningTask;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.apache.camel.impl.DefaultConsumer;
import org.apache.camel.spi.ShutdownAware;
@@ -28,7 +29,7 @@ import org.apache.camel.spi.ShutdownAware;
*
* @version
*/
-public class DirectConsumer extends DefaultConsumer implements ShutdownAware, SuspendableService {
+public class DirectConsumer extends DefaultConsumer implements ShutdownAware, Suspendable {
private DirectEndpoint endpoint;
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java
index 037b7e2..4b18fe3 100644
--- a/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/directvm/DirectVmConsumer.java
@@ -17,13 +17,14 @@
package org.apache.camel.component.directvm;
import org.apache.camel.Processor;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.apache.camel.impl.DefaultConsumer;
/**
* The direct-vm consumer
*/
-public class DirectVmConsumer extends DefaultConsumer implements SuspendableService {
+public class DirectVmConsumer extends DefaultConsumer implements Suspendable {
public DirectVmConsumer(DirectVmEndpoint endpoint, Processor processor) {
super(endpoint, processor);
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
index c0970fb..ca0ddcb 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaConsumer.java
@@ -30,7 +30,7 @@ import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.Processor;
import org.apache.camel.ShutdownRunningTask;
-import org.apache.camel.SuspendableService;
+import org.apache.camel.Suspendable;
import org.apache.camel.processor.MulticastProcessor;
import org.apache.camel.spi.ExceptionHandler;
import org.apache.camel.spi.ShutdownAware;
@@ -52,7 +52,7 @@ import org.slf4j.LoggerFactory;
*
* @version
*/
-public class SedaConsumer extends ServiceSupport implements Consumer, Runnable, ShutdownAware, SuspendableService {
+public class SedaConsumer extends ServiceSupport implements Consumer, Runnable, ShutdownAware, Suspendable {
private static final Logger LOG = LoggerFactory.getLogger(SedaConsumer.class);
private final AtomicInteger taskCount = new AtomicInteger();
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
index bba3ed1..d0c2c37 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultCamelContext.java
@@ -72,6 +72,7 @@ import org.apache.camel.ShutdownRoute;
import org.apache.camel.ShutdownRunningTask;
import org.apache.camel.StartupListener;
import org.apache.camel.StatefulService;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.apache.camel.TypeConverter;
import org.apache.camel.VetoCamelContextStartException;
@@ -171,7 +172,7 @@ import org.slf4j.LoggerFactory;
* @version
*/
@SuppressWarnings("deprecation")
-public class DefaultCamelContext extends ServiceSupport implements ModelCamelContext, SuspendableService {
+public class DefaultCamelContext extends ServiceSupport implements ModelCamelContext, Suspendable {
private final Logger log = LoggerFactory.getLogger(getClass());
private JAXBContext jaxbContext;
private CamelContextNameStrategy nameStrategy = new DefaultCamelContextNameStrategy();
@@ -1169,7 +1170,9 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
// must suspend route service as well
suspendRouteService(routeService);
// must suspend the route as well
- ServiceHelper.suspendService(route);
+ if (route instanceof SuspendableService) {
+ ((SuspendableService) route).suspend();
+ }
}
}
@@ -1190,7 +1193,9 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
// must suspend route service as well
suspendRouteService(routeService);
// must suspend the route as well
- ServiceHelper.suspendService(route);
+ if (route instanceof SuspendableService) {
+ ((SuspendableService) route).suspend();
+ }
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java b/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
index 2eac21e..074837b 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java
@@ -40,6 +40,7 @@ import org.apache.camel.Route;
import org.apache.camel.Service;
import org.apache.camel.ShutdownRoute;
import org.apache.camel.ShutdownRunningTask;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.apache.camel.spi.InflightRepository;
import org.apache.camel.spi.RouteStartupOrder;
@@ -557,7 +558,7 @@ public class DefaultShutdownStrategy extends ServiceSupport implements ShutdownS
if (consumer instanceof ShutdownAware) {
shutdown = !((ShutdownAware) consumer).deferShutdown(shutdownRunningTask);
}
- if (shutdown && consumer instanceof SuspendableService) {
+ if (shutdown && consumer instanceof Suspendable) {
// we prefer to suspend over shutdown
suspend = true;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java b/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java
index 8a6da5d..0e77b17 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/EventDrivenConsumerRoute.java
@@ -25,6 +25,7 @@ import org.apache.camel.Navigate;
import org.apache.camel.Processor;
import org.apache.camel.RouteAware;
import org.apache.camel.Service;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.apache.camel.spi.IdAware;
import org.apache.camel.spi.RouteContext;
@@ -129,6 +130,6 @@ public class EventDrivenConsumerRoute extends DefaultRoute {
}
public boolean supportsSuspension() {
- return consumer instanceof SuspendableService;
+ return consumer instanceof Suspendable && consumer instanceof SuspendableService;
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java b/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
index 5f25a4f..c0fadaa 100644
--- a/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
+++ b/camel-core/src/main/java/org/apache/camel/impl/ScheduledPollConsumer.java
@@ -27,6 +27,7 @@ import org.apache.camel.FailedToCreateConsumerException;
import org.apache.camel.LoggingLevel;
import org.apache.camel.PollingConsumerPollingStrategy;
import org.apache.camel.Processor;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.apache.camel.spi.PollingConsumerPollStrategy;
import org.apache.camel.spi.ScheduledPollConsumerScheduler;
@@ -39,7 +40,7 @@ import org.slf4j.LoggerFactory;
/**
* A useful base class for any consumer which is polling based
*/
-public abstract class ScheduledPollConsumer extends DefaultConsumer implements Runnable, SuspendableService, PollingConsumerPollingStrategy {
+public abstract class ScheduledPollConsumer extends DefaultConsumer implements Runnable, Suspendable, PollingConsumerPollingStrategy {
private static final Logger LOG = LoggerFactory.getLogger(ScheduledPollConsumer.class);
private ScheduledPollConsumerScheduler scheduler;
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
index b5dffe0..9fe5df0 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedService.java
@@ -22,6 +22,7 @@ import org.apache.camel.Service;
import org.apache.camel.ServiceStatus;
import org.apache.camel.StatefulService;
import org.apache.camel.StaticService;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.apache.camel.api.management.ManagedInstance;
import org.apache.camel.api.management.ManagedResource;
@@ -111,7 +112,7 @@ public class ManagedService implements ManagedInstance, ManagedServiceMBean {
}
public boolean isSupportSuspension() {
- return service instanceof SuspendableService;
+ return service instanceof Suspendable && service instanceof SuspendableService;
}
public boolean isSuspended() {
@@ -127,7 +128,7 @@ public class ManagedService implements ManagedInstance, ManagedServiceMBean {
if (!context.getStatus().isStarted()) {
throw new IllegalArgumentException("CamelContext is not started");
}
- if (service instanceof SuspendableService) {
+ if (service instanceof Suspendable && service instanceof SuspendableService) {
SuspendableService ss = (SuspendableService) service;
ss.suspend();
} else {
http://git-wip-us.apache.org/repos/asf/camel/blob/5973f141/camel-core/src/main/java/org/apache/camel/util/ServiceHelper.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/util/ServiceHelper.java b/camel-core/src/main/java/org/apache/camel/util/ServiceHelper.java
index 90b5ce9..e0b4d77 100644
--- a/camel-core/src/main/java/org/apache/camel/util/ServiceHelper.java
+++ b/camel-core/src/main/java/org/apache/camel/util/ServiceHelper.java
@@ -28,6 +28,7 @@ import org.apache.camel.Processor;
import org.apache.camel.Service;
import org.apache.camel.ShutdownableService;
import org.apache.camel.StatefulService;
+import org.apache.camel.Suspendable;
import org.apache.camel.SuspendableService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -361,13 +362,13 @@ public final class ServiceHelper {
/**
* Suspends the given {@code service}.
* <p/>
- * If {@code service} is a {@link org.apache.camel.SuspendableService} then
+ * If {@code service} is both {@link org.apache.camel.Suspendable} and {@link org.apache.camel.SuspendableService} then
* it's {@link org.apache.camel.SuspendableService#suspend()} is called but
* <b>only</b> if {@code service} is <b>not</b> already
* {@link #isSuspended(Object) suspended}.
* <p/>
* If {@code service} is <b>not</b> a
- * {@link org.apache.camel.SuspendableService} then it's
+ * {@link org.apache.camel.Suspendable} and {@link org.apache.camel.SuspendableService} then it's
* {@link org.apache.camel.Service#stop()} is called.
* <p/>
* Calling this method has no effect if {@code service} is {@code null}.
@@ -380,7 +381,7 @@ public final class ServiceHelper {
* @see #stopService(Object)
*/
public static boolean suspendService(Object service) throws Exception {
- if (service instanceof SuspendableService) {
+ if (service instanceof Suspendable && service instanceof SuspendableService) {
SuspendableService ss = (SuspendableService) service;
if (!ss.isSuspended()) {
LOG.trace("Suspending service {}", service);
[4/5] camel git commit: CAMEL-9577: Only support suspension if a
component has custom logic
Posted by da...@apache.org.
CAMEL-9577: Only support suspension if a component has custom logic
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/fdb19bf1
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/fdb19bf1
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/fdb19bf1
Branch: refs/heads/master
Commit: fdb19bf16b197830aeab07c0f579b800e6de9482
Parents: 2535017
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Feb 8 17:03:58 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Feb 8 17:45:21 2016 +0100
----------------------------------------------------------------------
.../org/apache/camel/component/netty/NettyConsumer.java | 2 ++
.../netty/SingleUDPNettyServerBootstrapFactory.java | 12 +++++++++++-
.../ClientModeTCPNettyServerBootstrapFactory.java | 3 ++-
.../apache/camel/component/netty4/NettyConsumer.java | 2 ++
.../netty4/SingleTCPNettyServerBootstrapFactory.java | 3 ++-
.../netty4/SingleUDPNettyServerBootstrapFactory.java | 4 ++--
6 files changed, 21 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/fdb19bf1/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
index c2cdd6f..3a0d7b3 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsumer.java
@@ -90,11 +90,13 @@ public class NettyConsumer extends DefaultConsumer implements Suspendable {
@Override
protected void doSuspend() throws Exception {
ServiceHelper.suspendService(nettyServerBootstrapFactory);
+ super.doSuspend();
}
@Override
protected void doResume() throws Exception {
ServiceHelper.resumeService(nettyServerBootstrapFactory);
+ super.doResume();
}
public CamelContext getContext() {
http://git-wip-us.apache.org/repos/asf/camel/blob/fdb19bf1/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 eb5f596..7a2567e 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
@@ -45,7 +45,7 @@ import org.slf4j.LoggerFactory;
/**
* A {@link NettyServerBootstrapFactory} which is used by a single consumer (not shared).
*/
-public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
+public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory, Suspendable {
protected static final Logger LOG = LoggerFactory.getLogger(SingleUDPNettyServerBootstrapFactory.class);
private static final String LOOPBACK_INTERFACE = "lo";
@@ -114,6 +114,16 @@ public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport impleme
stopServerBootstrap();
}
+ @Override
+ protected void doResume() throws Exception {
+ // noop
+ }
+
+ @Override
+ protected void doSuspend() throws Exception {
+ // noop
+ }
+
protected void startServerBootstrap() throws Exception {
// create non-shared worker pool
int count = configuration.getWorkerCount() > 0 ? configuration.getWorkerCount() : NettyHelper.DEFAULT_IO_THREADS;
http://git-wip-us.apache.org/repos/asf/camel/blob/fdb19bf1/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ClientModeTCPNettyServerBootstrapFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ClientModeTCPNettyServerBootstrapFactory.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ClientModeTCPNettyServerBootstrapFactory.java
index 10abe9b..fc9cb2c 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ClientModeTCPNettyServerBootstrapFactory.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/ClientModeTCPNettyServerBootstrapFactory.java
@@ -32,6 +32,7 @@ import io.netty.channel.EventLoopGroup;
import io.netty.channel.socket.nio.NioSocketChannel;
import org.apache.camel.CamelContext;
+import org.apache.camel.Suspendable;
import org.apache.camel.support.ServiceSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -39,7 +40,7 @@ import org.slf4j.LoggerFactory;
/**
* A {@link NettyServerBootstrapFactory} which is used by a single consumer (not shared).
*/
-public class ClientModeTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
+public class ClientModeTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory, Suspendable {
protected static final Logger LOG = LoggerFactory.getLogger(ClientModeTCPNettyServerBootstrapFactory.class);
http://git-wip-us.apache.org/repos/asf/camel/blob/fdb19bf1/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
index dad9d95..fbee132 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/NettyConsumer.java
@@ -90,11 +90,13 @@ public class NettyConsumer extends DefaultConsumer implements Suspendable {
@Override
protected void doSuspend() throws Exception {
ServiceHelper.suspendService(nettyServerBootstrapFactory);
+ super.doSuspend();
}
@Override
protected void doResume() throws Exception {
ServiceHelper.resumeService(nettyServerBootstrapFactory);
+ super.doResume();
}
public CamelContext getContext() {
http://git-wip-us.apache.org/repos/asf/camel/blob/fdb19bf1/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 9e10ced..49ddbc8 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
@@ -31,6 +31,7 @@ import io.netty.channel.socket.nio.NioServerSocketChannel;
import io.netty.util.concurrent.ImmediateEventExecutor;
import org.apache.camel.CamelContext;
+import org.apache.camel.Suspendable;
import org.apache.camel.support.ServiceSupport;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -38,7 +39,7 @@ import org.slf4j.LoggerFactory;
/**
* A {@link NettyServerBootstrapFactory} which is used by a single consumer (not shared).
*/
-public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
+public class SingleTCPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory, Suspendable {
protected static final Logger LOG = LoggerFactory.getLogger(SingleTCPNettyServerBootstrapFactory.class);
private ChannelGroup allChannels;
http://git-wip-us.apache.org/repos/asf/camel/blob/fdb19bf1/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleUDPNettyServerBootstrapFactory.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleUDPNettyServerBootstrapFactory.java b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleUDPNettyServerBootstrapFactory.java
index e3b262e..5d9d5bd 100644
--- a/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleUDPNettyServerBootstrapFactory.java
+++ b/components/camel-netty4/src/main/java/org/apache/camel/component/netty4/SingleUDPNettyServerBootstrapFactory.java
@@ -16,7 +16,6 @@
*/
package org.apache.camel.component.netty4;
-
import java.net.InetSocketAddress;
import java.net.NetworkInterface;
import java.util.concurrent.ThreadFactory;
@@ -33,6 +32,7 @@ import io.netty.channel.socket.DatagramChannel;
import io.netty.channel.socket.nio.NioDatagramChannel;
import io.netty.util.concurrent.ImmediateEventExecutor;
import org.apache.camel.CamelContext;
+import org.apache.camel.Suspendable;
import org.apache.camel.component.netty4.util.SubnetUtils;
import org.apache.camel.support.ServiceSupport;
import org.apache.camel.util.ObjectHelper;
@@ -42,7 +42,7 @@ import org.slf4j.LoggerFactory;
/**
* A {@link NettyServerBootstrapFactory} which is used by a single consumer (not shared).
*/
-public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory {
+public class SingleUDPNettyServerBootstrapFactory extends ServiceSupport implements NettyServerBootstrapFactory, Suspendable {
protected static final Logger LOG = LoggerFactory.getLogger(SingleUDPNettyServerBootstrapFactory.class);
private static final String LOOPBACK_INTERFACE = "lo";
[2/5] camel git commit: Polished
Posted by da...@apache.org.
Polished
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/bfcbb3f6
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/bfcbb3f6
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/bfcbb3f6
Branch: refs/heads/master
Commit: bfcbb3f69702e3f9ad48fe9c39bad4dc1bdba3e1
Parents: 5973f14
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Feb 8 16:34:49 2016 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Feb 8 17:45:20 2016 +0100
----------------------------------------------------------------------
.../src/main/java/org/apache/camel/model/AggregateDefinition.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/bfcbb3f6/camel-core/src/main/java/org/apache/camel/model/AggregateDefinition.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/model/AggregateDefinition.java b/camel-core/src/main/java/org/apache/camel/model/AggregateDefinition.java
index 5573842..b0e8bd7 100644
--- a/camel-core/src/main/java/org/apache/camel/model/AggregateDefinition.java
+++ b/camel-core/src/main/java/org/apache/camel/model/AggregateDefinition.java
@@ -39,6 +39,7 @@ import org.apache.camel.processor.aggregate.AggregateController;
import org.apache.camel.processor.aggregate.AggregateProcessor;
import org.apache.camel.processor.aggregate.AggregationStrategy;
import org.apache.camel.processor.aggregate.AggregationStrategyBeanAdapter;
+import org.apache.camel.processor.aggregate.ClosedCorrelationKeyException;
import org.apache.camel.processor.aggregate.GroupedExchangeAggregationStrategy;
import org.apache.camel.processor.aggregate.OptimisticLockRetryPolicy;
import org.apache.camel.spi.AggregationRepository;
@@ -682,7 +683,7 @@ public class AggregateDefinition extends ProcessorDefinition<AggregateDefinition
/**
* Closes a correlation key when its complete. Any <i>late</i> received exchanges which has a correlation key
- * that has been closed, it will be defined and a {@link org.apache.camel.processor.aggregate.ClosedCorrelationKeyException}
+ * that has been closed, it will be defined and a {@link ClosedCorrelationKeyException}
* is thrown.
*
* @param capacity the maximum capacity of the closed correlation key cache.