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 2012/10/09 09:41:11 UTC
svn commit: r1395885 - in /camel/branches/camel-2.9.x: ./
components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java
Author: davsclaus
Date: Tue Oct 9 07:41:10 2012
New Revision: 1395885
URL: http://svn.apache.org/viewvc?rev=1395885&view=rev
Log:
CAMEL-5694: JMS endpoint should allow mutiple consumers, so 2+ routes can consume from the same queue.
Modified:
camel/branches/camel-2.9.x/ (props changed)
camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
camel/branches/camel-2.9.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Merged /camel/trunk:r1395883
Merged /camel/branches/camel-2.10.x:r1395884
Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.
Modified: camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java?rev=1395885&r1=1395884&r2=1395885&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java (original)
+++ camel/branches/camel-2.9.x/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsEndpoint.java Tue Oct 9 07:41:10 2012
@@ -281,8 +281,8 @@ public class JmsEndpoint extends Default
}
public boolean isMultipleConsumersSupported() {
- // only allow multiple consumers for pub sub domain (e.g. topics)
- return isPubSubDomain();
+ // JMS allows multiple consumers on both queues and topics
+ return true;
}
// Properties
Modified: camel/branches/camel-2.9.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java?rev=1395885&r1=1395884&r2=1395885&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java (original)
+++ camel/branches/camel-2.9.x/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsMultipleConsumersTest.java Tue Oct 9 07:41:10 2012
@@ -19,10 +19,8 @@ package org.apache.camel.component.jms;
import javax.jms.ConnectionFactory;
import org.apache.camel.CamelContext;
-import org.apache.camel.FailedToStartRouteException;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.test.junit4.CamelTestSupport;
-
import org.junit.Test;
import static org.apache.camel.component.jms.JmsComponent.jmsComponentAutoAcknowledge;
@@ -33,7 +31,7 @@ import static org.apache.camel.component
public class JmsMultipleConsumersTest extends CamelTestSupport {
@Test
- public void testMultipleConsumersAllowed() throws Exception {
+ public void testMultipleConsumersTopic() throws Exception {
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
@@ -59,23 +57,26 @@ public class JmsMultipleConsumersTest ex
}
@Test
- public void testMultipleConsumersNotAllowed() throws Exception {
+ public void testMultipleConsumersQueue() throws Exception {
context.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
- from("jms:queue:foo").to("mock:foo");
+ from("jms:queue:foo").to("mock:result");
from("direct:start").to("mock:result");
- from("jms:queue:foo").to("mock:bar");
+ from("jms:queue:foo").to("mock:result");
}
});
- try {
- context.start();
- fail("Should have thrown an exception");
- } catch (FailedToStartRouteException e) {
- assertTrue(e.getMessage().endsWith("Multiple consumers for the same endpoint is not allowed: Endpoint[jms://queue:foo]"));
- }
+
+ context.start();
+
+ getMockEndpoint("mock:result").expectedMessageCount(2);
+
+ template.sendBody("jms:queue:foo", "Hello World");
+ template.sendBody("jms:queue:foo", "Bye World");
+
+ assertMockEndpointsSatisfied();
}
protected CamelContext createCamelContext() throws Exception {