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 2014/08/07 16:48:22 UTC
[1/8] git commit: CAMEL-7666: Fixed potential
java.util.ConcurrentModificationException using addService.
Repository: camel
Updated Branches:
refs/heads/camel-2.12.x b668bcaa2 -> 920cfd75b
refs/heads/camel-2.13.x 4b3dbc616 -> 66acc68eb
refs/heads/master ee8f18073 -> 3d14a21d9
CAMEL-7666: Fixed potential java.util.ConcurrentModificationException using addService.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/67ba6ff0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/67ba6ff0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/67ba6ff0
Branch: refs/heads/master
Commit: 67ba6ff0d7687cc8fe3c70191d4d209d6f42eaa5
Parents: ee8f180
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 10:24:52 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 10:24:52 2014 +0200
----------------------------------------------------------------------
.../src/main/java/org/apache/camel/impl/DefaultCamelContext.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/67ba6ff0/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 fa4d673..dab1eaa 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
@@ -32,6 +32,7 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -170,7 +171,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
private LanguageResolver languageResolver = new DefaultLanguageResolver();
private final Map<String, Language> languages = new HashMap<String, Language>();
private Registry registry;
- private List<LifecycleStrategy> lifecycleStrategies = new ArrayList<LifecycleStrategy>();
+ private List<LifecycleStrategy> lifecycleStrategies = new CopyOnWriteArrayList<LifecycleStrategy>();
private ManagementStrategy managementStrategy;
private ManagementMBeanAssembler managementMBeanAssembler;
private final List<RouteDefinition> routeDefinitions = new ArrayList<RouteDefinition>();
[8/8] git commit: CAMEL-7666: Fixed potential
java.util.ConcurrentModificationException using addService.
Posted by da...@apache.org.
CAMEL-7666: Fixed potential java.util.ConcurrentModificationException using addService.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/920cfd75
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/920cfd75
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/920cfd75
Branch: refs/heads/camel-2.12.x
Commit: 920cfd75b9d832edaa03c1b71af83ddca13d1e80
Parents: b668bca
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 10:24:52 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 16:48:01 2014 +0200
----------------------------------------------------------------------
.../src/main/java/org/apache/camel/impl/DefaultCamelContext.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/920cfd75/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 77a7cce..4e41234 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
@@ -32,6 +32,7 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -165,7 +166,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
private LanguageResolver languageResolver = new DefaultLanguageResolver();
private final Map<String, Language> languages = new HashMap<String, Language>();
private Registry registry;
- private List<LifecycleStrategy> lifecycleStrategies = new ArrayList<LifecycleStrategy>();
+ private List<LifecycleStrategy> lifecycleStrategies = new CopyOnWriteArrayList<LifecycleStrategy>();
private ManagementStrategy managementStrategy;
private ManagementMBeanAssembler managementMBeanAssembler;
private final List<RouteDefinition> routeDefinitions = new ArrayList<RouteDefinition>();
[5/8] git commit: CAMEL-7667: camel-jms route consumers will not
accept new messages during stopping of CamelContext. This prevents issues
with JMS connections being attempted to re-connect due failover protocol and
during shutdown of the Camel app. This
Posted by da...@apache.org.
CAMEL-7667: camel-jms route consumers will not accept new messages during stopping of CamelContext. This prevents issues with JMS connections being attempted to re-connect due failover protocol and during shutdown of the Camel app. This can lead to WARNs and ERRORs in the logs which we can avoid a bit more with letting the jms consumer shutdown quciker.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3d8ae863
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3d8ae863
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3d8ae863
Branch: refs/heads/master
Commit: 3d8ae86338598d279ae2e5bf58b2676d5237b3fc
Parents: 5707862
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 15:57:41 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 15:57:41 2014 +0200
----------------------------------------------------------------------
.../jms/DefaultJmsMessageListenerContainer.java | 37 ++++++++++++++++++--
.../ExclusiveQueueMessageListenerContainer.java | 3 +-
.../SharedQueueMessageListenerContainer.java | 5 +--
.../jms/reply/TemporaryQueueReplyManager.java | 3 +-
4 files changed, 42 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/3d8ae863/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java
index 793bb75..ba3282e 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/DefaultJmsMessageListenerContainer.java
@@ -35,15 +35,48 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
public class DefaultJmsMessageListenerContainer extends DefaultMessageListenerContainer {
private final JmsEndpoint endpoint;
+ private final boolean allowQuickStop;
public DefaultJmsMessageListenerContainer(JmsEndpoint endpoint) {
+ this(endpoint, true);
+ }
+
+ public DefaultJmsMessageListenerContainer(JmsEndpoint endpoint, boolean allowQuickStop) {
this.endpoint = endpoint;
+ this.allowQuickStop = allowQuickStop;
+ }
+
+ /**
+ * Whether this {@link DefaultMessageListenerContainer} allows the {@link #runningAllowed()} to quick stop
+ * in case {@link JmsConfiguration#isAcceptMessagesWhileStopping()} is enabled, and {@link org.apache.camel.CamelContext}
+ * is currently being stopped.
+ */
+ protected boolean isAllowQuickStop() {
+ return allowQuickStop;
}
@Override
protected boolean runningAllowed() {
- // do not run if we have been stopped
- return endpoint.isRunning();
+ // we can stop quickly if CamelContext is being stopped, and we do not accept messages while stopping
+ // this allows a more cleanly shutdown of the message listener
+ boolean quickStop = false;
+ if (isAllowQuickStop() && !endpoint.isAcceptMessagesWhileStopping()) {
+ quickStop = endpoint.getCamelContext().getStatus().isStopping();
+ }
+
+ if (quickStop) {
+ // log at debug level so its quicker to see we are stopping quicker from the logs
+ logger.debug("runningAllowed() -> false due CamelContext is stopping and endpoint configured to not accept messages while stopping");
+ return false;
+ } else {
+ // otherwise we only run if the endpoint is running
+ boolean answer = endpoint.isRunning();
+ // log at trace level as otherwise this can be noisy during normal operation
+ if (logger.isTraceEnabled()) {
+ logger.trace("runningAllowed() -> " + answer);
+ }
+ return answer;
+ }
}
/**
http://git-wip-us.apache.org/repos/asf/camel/blob/3d8ae863/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ExclusiveQueueMessageListenerContainer.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ExclusiveQueueMessageListenerContainer.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ExclusiveQueueMessageListenerContainer.java
index b572541..64b7bfe 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ExclusiveQueueMessageListenerContainer.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/ExclusiveQueueMessageListenerContainer.java
@@ -37,6 +37,7 @@ public class ExclusiveQueueMessageListenerContainer extends DefaultJmsMessageLis
// no need to override any methods currently
public ExclusiveQueueMessageListenerContainer(JmsEndpoint endpoint) {
- super(endpoint);
+ // request-reply listener container should not allow quick-stop so we can keep listening for reply messages
+ super(endpoint, false);
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/3d8ae863/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/SharedQueueMessageListenerContainer.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/SharedQueueMessageListenerContainer.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/SharedQueueMessageListenerContainer.java
index f6464ff..3b682e0 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/SharedQueueMessageListenerContainer.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/SharedQueueMessageListenerContainer.java
@@ -48,7 +48,8 @@ public class SharedQueueMessageListenerContainer extends DefaultJmsMessageListen
* @param fixedMessageSelector the fixed selector
*/
public SharedQueueMessageListenerContainer(JmsEndpoint endpoint, String fixedMessageSelector) {
- super(endpoint);
+ // request-reply listener container should not allow quick-stop so we can keep listening for reply messages
+ super(endpoint, false);
this.fixedMessageSelector = fixedMessageSelector;
}
@@ -59,7 +60,7 @@ public class SharedQueueMessageListenerContainer extends DefaultJmsMessageListen
* @param creator the create to create the dynamic selector
*/
public SharedQueueMessageListenerContainer(JmsEndpoint endpoint, MessageSelectorCreator creator) {
- super(endpoint);
+ super(endpoint, false);
this.creator = creator;
}
http://git-wip-us.apache.org/repos/asf/camel/blob/3d8ae863/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
index a5e8798..f7430eb 100644
--- a/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
+++ b/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/TemporaryQueueReplyManager.java
@@ -99,7 +99,8 @@ public class TemporaryQueueReplyManager extends ReplyManagerSupport {
@Override
protected AbstractMessageListenerContainer createListenerContainer() throws Exception {
// Use DefaultMessageListenerContainer as it supports reconnects (see CAMEL-3193)
- DefaultMessageListenerContainer answer = new DefaultJmsMessageListenerContainer(endpoint);
+ // request-reply listener container should not allow quick-stop so we can keep listening for reply messages
+ DefaultMessageListenerContainer answer = new DefaultJmsMessageListenerContainer(endpoint, false);
answer.setDestinationName("temporary");
answer.setDestinationResolver(destResolver);
[4/8] git commit: Fixed test
Posted by da...@apache.org.
Fixed test
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/57078628
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/57078628
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/57078628
Branch: refs/heads/master
Commit: 57078628f503bd4bd0c00295f231667f69996bff
Parents: 426bce9
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 14:58:36 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 14:58:36 2014 +0200
----------------------------------------------------------------------
.../component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/57078628/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java
----------------------------------------------------------------------
diff --git a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java
index ff8e267..d8fe352 100644
--- a/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java
+++ b/components/camel-jms/src/test/java/org/apache/camel/component/jms/issues/JmsBlockedAsyncRoutingEngineTest.java
@@ -115,7 +115,7 @@ public class JmsBlockedAsyncRoutingEngineTest extends CamelTestSupport {
return new RouteBuilder() {
public void configure() throws Exception {
from("activemq:queue:test?concurrentConsumers=5&useMessageIDAsCorrelationID=true&transacted=true")
- .filter().simple("${in.body} = 'beSlow'")
+ .filter().simple("${in.body} == 'beSlow'")
.delay(constant(2000))
.log(">>>>> Received message on test queue")
.setBody(constant("Reply"))
[3/8] git commit: Polished example
Posted by da...@apache.org.
Polished example
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/426bce98
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/426bce98
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/426bce98
Branch: refs/heads/master
Commit: 426bce98b655a8878a6e9fbe6bf34a147aeec530
Parents: 112dff8
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 14:10:07 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 14:10:07 2014 +0200
----------------------------------------------------------------------
.../src/main/resources/META-INF/spring/camel-context.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/426bce98/examples/camel-example-pojo-messaging/src/main/resources/META-INF/spring/camel-context.xml
----------------------------------------------------------------------
diff --git a/examples/camel-example-pojo-messaging/src/main/resources/META-INF/spring/camel-context.xml b/examples/camel-example-pojo-messaging/src/main/resources/META-INF/spring/camel-context.xml
index 0807162..b9fa6f5 100644
--- a/examples/camel-example-pojo-messaging/src/main/resources/META-INF/spring/camel-context.xml
+++ b/examples/camel-example-pojo-messaging/src/main/resources/META-INF/spring/camel-context.xml
@@ -27,7 +27,7 @@
http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">
<!-- This creates an embedded ActiveMQ Broker -->
- <broker xmlns="http://activemq.apache.org/schema/core" useJmx="true" persistent="false"
+ <broker xmlns="http://activemq.apache.org/schema/core" useJmx="true" persistent="false" useShutdownHook="false"
brokerName="myBroker" id="broker">
<transportConnectors>
<transportConnector uri="vm://myBroker"/>
@@ -37,7 +37,7 @@
<!-- Lets connect the Camel ActiveMQ component to the embedded broker.
See http://camel.apache.org/activemq.html for more information.
-->
- <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
+ <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" depends-on="broker">
<property name="brokerURL" value="vm://myBroker"/>
</bean>
[6/8] git commit: CAMEL-7669: jms unit tests should start|stop
connection pool.
Posted by da...@apache.org.
CAMEL-7669: jms unit tests should start|stop connection pool.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/3d14a21d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/3d14a21d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/3d14a21d
Branch: refs/heads/master
Commit: 3d14a21d9e3e5d33c8420b0210e68a90e3611442
Parents: 3d8ae86
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 16:47:15 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 16:47:15 2014 +0200
----------------------------------------------------------------------
.../org/apache/camel/itest/hawtdb/JmsToHawtDBAggregateTest.xml | 2 +-
.../camel/itest/jetty/JettyJmsShutdownInProgressTest-context.xml | 1 +
.../org/apache/camel/itest/jetty/JettyJmsShutdownTest-context.xml | 1 +
.../org/apache/camel/itest/jms/AdviceWithTransactionIssueTest.xml | 2 +-
.../resources/org/apache/camel/itest/jms/FileToJmsTest-context.xml | 2 +-
.../camel/itest/jms/JMSTransactionIsTransactedRedeliveredTest.xml | 2 +-
.../org/apache/camel/itest/jms/JmsPollingConsumerTest-context.xml | 2 +-
.../org/apache/camel/itest/tx/JmsToHttpTXTest-context.xml | 2 +-
...ExceptionAndNoTransactionErrorHandlerConfiguredTest-context.xml | 2 +-
.../camel/itest/tx/JmsToHttpTXWithOnExceptionTest-context.xml | 2 +-
.../apache/camel/itest/tx/JmsToHttpTXWithRollbackTest-context.xml | 2 +-
11 files changed, 11 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/hawtdb/JmsToHawtDBAggregateTest.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/hawtdb/JmsToHawtDBAggregateTest.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/hawtdb/JmsToHawtDBAggregateTest.xml
index e22af04..b15a1d5 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/hawtdb/JmsToHawtDBAggregateTest.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/hawtdb/JmsToHawtDBAggregateTest.xml
@@ -22,7 +22,7 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<!-- ActiveMQ connection factory -->
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest-context.xml
index 680ce5a..49bec72 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownInProgressTest-context.xml
@@ -24,6 +24,7 @@
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent"/>
<bean id="jms" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="vm://localhost?broker.persistent=false"/>
+ <property name="acceptMessagesWhileStopping" value="true"/>
</bean>
<camelContext xmlns="http://camel.apache.org/schema/spring">
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownTest-context.xml
index faafe15..6766ca6 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jetty/JettyJmsShutdownTest-context.xml
@@ -26,6 +26,7 @@
<bean id="jms" class="org.apache.activemq.camel.component.ActiveMQComponent">
<property name="brokerURL" value="vm://localhost?broker.persistent=false"/>
+ <property name="acceptMessagesWhileStopping" value="true"/>
</bean>
<camelContext xmlns="http://camel.apache.org/schema/spring">
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/AdviceWithTransactionIssueTest.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/AdviceWithTransactionIssueTest.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/AdviceWithTransactionIssueTest.xml
index 8f145ff..a0decab 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/AdviceWithTransactionIssueTest.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/AdviceWithTransactionIssueTest.xml
@@ -21,7 +21,7 @@
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/FileToJmsTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/FileToJmsTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/FileToJmsTest-context.xml
index 3caedc5..148508c 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/FileToJmsTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/FileToJmsTest-context.xml
@@ -24,7 +24,7 @@
http://activemq.apache.org/schema/core http://activemq.org/config/1.0/1.0.xsd">
<!-- camel stuff below to send and listen to broker with a spring JMS transaction manager -->
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JMSTransactionIsTransactedRedeliveredTest.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JMSTransactionIsTransactedRedeliveredTest.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JMSTransactionIsTransactedRedeliveredTest.xml
index 0a3782e..aa0da27 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JMSTransactionIsTransactedRedeliveredTest.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JMSTransactionIsTransactedRedeliveredTest.xml
@@ -24,7 +24,7 @@
<bean id="properties" class="org.apache.camel.component.properties.PropertiesComponent"/>
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JmsPollingConsumerTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JmsPollingConsumerTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JmsPollingConsumerTest-context.xml
index cfbd304..d3ba9f7 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JmsPollingConsumerTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/jms/JmsPollingConsumerTest-context.xml
@@ -31,7 +31,7 @@
</broker:broker>
<!-- camel stuff below to send and listen to broker with a spring JMS transaction manager -->
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXTest-context.xml
index dcbf19e..6e8a44d 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXTest-context.xml
@@ -22,7 +22,7 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<!-- ActiveMQ connection factory -->
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionAndNoTransactionErrorHandlerConfiguredTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionAndNoTransactionErrorHandlerConfiguredTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionAndNoTransactionErrorHandlerConfiguredTest-context.xml
index d6c7da1..870cc5e 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionAndNoTransactionErrorHandlerConfiguredTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionAndNoTransactionErrorHandlerConfiguredTest-context.xml
@@ -22,7 +22,7 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<!-- ActiveMQ connection factory -->
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionTest-context.xml
index 1fcdae1..d81557f 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithOnExceptionTest-context.xml
@@ -22,7 +22,7 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<!-- ActiveMQ connection factory -->
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
http://git-wip-us.apache.org/repos/asf/camel/blob/3d14a21d/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithRollbackTest-context.xml
----------------------------------------------------------------------
diff --git a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithRollbackTest-context.xml b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithRollbackTest-context.xml
index b79347f..a77c03f 100644
--- a/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithRollbackTest-context.xml
+++ b/tests/camel-itest/src/test/resources/org/apache/camel/itest/tx/JmsToHttpTXWithRollbackTest-context.xml
@@ -22,7 +22,7 @@
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<!-- ActiveMQ connection factory -->
- <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory">
+ <bean id="poolConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory" init-method="start" destroy-method="stop">
<property name="maxConnections" value="8"/>
<property name="connectionFactory" ref="jmsConnectionFactory"/>
</bean>
[2/8] git commit: Polished example
Posted by da...@apache.org.
Polished example
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/112dff88
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/112dff88
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/112dff88
Branch: refs/heads/master
Commit: 112dff88fcf54bce7d52e61a8758a856c9b37a7d
Parents: 67ba6ff
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 11:17:29 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 11:17:29 2014 +0200
----------------------------------------------------------------------
.../example/pojo_messaging/DistributeRecordsBean.java | 9 ++++++++-
.../pojo_messaging/SendFileRecordsToQueueBean.java | 11 +++++++++--
2 files changed, 17 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/112dff88/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/DistributeRecordsBean.java
----------------------------------------------------------------------
diff --git a/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/DistributeRecordsBean.java b/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/DistributeRecordsBean.java
index b1c2df7..d8071e2 100644
--- a/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/DistributeRecordsBean.java
+++ b/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/DistributeRecordsBean.java
@@ -19,17 +19,24 @@ package org.apache.camel.example.pojo_messaging;
import org.apache.camel.Consume;
import org.apache.camel.RecipientList;
import org.apache.camel.language.XPath;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
//START SNIPPET: ex
public class DistributeRecordsBean {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DistributeRecordsBean.class);
+
@Consume(uri = "activemq:personnel.records")
@RecipientList
public String[] route(@XPath("/person/city/text()") String city) {
if (city.equals("London")) {
+ LOG.info("Person is from EMEA region");
return new String[] {"file:target/messages/emea/hr_pickup",
"file:target/messages/emea/finance_pickup"};
} else {
- return new String[] {"file:target/messages/amer/hr_pickup",
+ LOG.info("Person is from AMER region");
+ return new String[] {"file:target/messages/amer/hr_pickup",
"file:target/messages/amer/finance_pickup"};
}
}
http://git-wip-us.apache.org/repos/asf/camel/blob/112dff88/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/SendFileRecordsToQueueBean.java
----------------------------------------------------------------------
diff --git a/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/SendFileRecordsToQueueBean.java b/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/SendFileRecordsToQueueBean.java
index 176893a..7eb935c 100644
--- a/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/SendFileRecordsToQueueBean.java
+++ b/examples/camel-example-pojo-messaging/src/main/java/org/apache/camel/example/pojo_messaging/SendFileRecordsToQueueBean.java
@@ -17,16 +17,23 @@
package org.apache.camel.example.pojo_messaging;
import org.apache.camel.Consume;
+import org.apache.camel.Header;
import org.apache.camel.Produce;
import org.apache.camel.ProducerTemplate;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
//START SNIPPET: ex
public class SendFileRecordsToQueueBean {
+
+ private static final Logger LOG = LoggerFactory.getLogger(SendFileRecordsToQueueBean.class);
+
@Produce(uri = "activemq:personnel.records")
ProducerTemplate producer;
- @Consume(uri = "file:src/data?noop=true&initialDelay=100&delay=100")
- public void onFileSendToQueue(String body) {
+ @Consume(uri = "file:src/data?noop=true")
+ public void onFileSendToQueue(String body, @Header("CamelFileName") String name) {
+ LOG.info("Incoming file: {}", name);
producer.sendBody(body);
}
}
[7/8] git commit: CAMEL-7666: Fixed potential
java.util.ConcurrentModificationException using addService.
Posted by da...@apache.org.
CAMEL-7666: Fixed potential java.util.ConcurrentModificationException using addService.
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/66acc68e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/66acc68e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/66acc68e
Branch: refs/heads/camel-2.13.x
Commit: 66acc68eb74f15b5e37f51ecc19d3111fad8a205
Parents: 4b3dbc6
Author: Claus Ibsen <da...@apache.org>
Authored: Thu Aug 7 10:24:52 2014 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Thu Aug 7 16:47:51 2014 +0200
----------------------------------------------------------------------
.../src/main/java/org/apache/camel/impl/DefaultCamelContext.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/66acc68e/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 eb8d87e..9f39968 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
@@ -32,6 +32,7 @@ import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.TreeMap;
+import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicInteger;
@@ -167,7 +168,7 @@ public class DefaultCamelContext extends ServiceSupport implements ModelCamelCon
private LanguageResolver languageResolver = new DefaultLanguageResolver();
private final Map<String, Language> languages = new HashMap<String, Language>();
private Registry registry;
- private List<LifecycleStrategy> lifecycleStrategies = new ArrayList<LifecycleStrategy>();
+ private List<LifecycleStrategy> lifecycleStrategies = new CopyOnWriteArrayList<LifecycleStrategy>();
private ManagementStrategy managementStrategy;
private ManagementMBeanAssembler managementMBeanAssembler;
private final List<RouteDefinition> routeDefinitions = new ArrayList<RouteDefinition>();