Return-Path: Delivered-To: apmail-camel-commits-archive@www.apache.org Received: (qmail 33086 invoked from network); 2 Oct 2010 08:00:58 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 2 Oct 2010 08:00:58 -0000 Received: (qmail 72894 invoked by uid 500); 2 Oct 2010 08:00:58 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 72847 invoked by uid 500); 2 Oct 2010 08:00:56 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 72840 invoked by uid 99); 2 Oct 2010 08:00:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Oct 2010 08:00:55 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Oct 2010 08:00:53 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 01AAC2388A02; Sat, 2 Oct 2010 08:00:32 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1003752 - in /camel/trunk/components/camel-jms/src: main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java Date: Sat, 02 Oct 2010 08:00:31 -0000 To: commits@camel.apache.org From: davsclaus@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20101002080032.01AAC2388A02@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: davsclaus Date: Sat Oct 2 08:00:31 2010 New Revision: 1003752 URL: http://svn.apache.org/viewvc?rev=1003752&view=rev Log: Added unit test. Added: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java - copied, changed from r1003532, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java?rev=1003752&r1=1003751&r2=1003752&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/reply/PersistentQueueReplyManager.java Sat Oct 2 08:00:31 2010 @@ -163,8 +163,7 @@ public class PersistentQueueReplyManager String replyToSelectorName = endpoint.getReplyToDestinationSelectorName(); if (replyToSelectorName != null) { - // 24 max char is what IBM WebSphereMQ supports in CorrelationIDs - // use a fixed selector name so we can select the replies which is intended for us + // create a random selector value we will use for the persistent reply queue replyToSelectorValue = "ID:" + new BigInteger(24 * 8, new Random()).toString(16); String fixedMessageSelector = replyToSelectorName + "='" + replyToSelectorValue + "'"; answer = new PersistentQueueMessageListenerContainer(fixedMessageSelector); Copied: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java (from r1003532, camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java?p2=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java&p1=camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java&r1=1003532&r2=1003752&rev=1003752&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReplyTest.java (original) +++ camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsSimpleRequestReply2Test.java Sat Oct 2 08:00:31 2010 @@ -20,51 +20,38 @@ import javax.jms.ConnectionFactory; import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.camel.CamelContext; -import org.apache.camel.Exchange; -import org.apache.camel.ExchangePattern; -import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; -import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.test.junit4.CamelTestSupport; import org.junit.Test; + import static org.apache.camel.component.jms.JmsComponent.jmsComponentClientAcknowledge; /** * A simple request / reply test */ -public class JmsSimpleRequestReplyTest extends CamelTestSupport { +public class JmsSimpleRequestReply2Test extends CamelTestSupport { protected String componentName = "activemq"; @Test - public void testRequetReply() throws Exception { - MockEndpoint result = getMockEndpoint("mock:result"); - result.expectedMessageCount(1); - - Exchange out = template.send("activemq:queue:hello", ExchangePattern.InOut, new Processor() { - public void process(Exchange exchange) throws Exception { - exchange.getIn().setBody("Hello World"); - exchange.getIn().setHeader("foo", 123); - } - }); + public void testWithInOnly() throws Exception { + getMockEndpoint("mock:result").expectedBodiesReceived("Hello World"); - result.assertIsSatisfied(); + // send an InOnly + template.sendBody("direct:start", "World"); - assertNotNull(out); - - assertEquals("Bye World", out.getOut().getBody(String.class)); - assertEquals(123, out.getOut().getHeader("foo")); + assertMockEndpointsSatisfied(); } @Test - public void testRequetReply2Messages() throws Exception { - MockEndpoint result = getMockEndpoint("mock:result"); - result.expectedMessageCount(2); + public void testWithInOut() throws Exception { + getMockEndpoint("mock:result").expectedBodiesReceived("Hello World"); - template.requestBody("activemq:queue:hello", "Hello World"); - template.requestBody("activemq:queue:hello", "Gooday World"); + // send an InOnly + String out = template.requestBody("direct:start", "World", String.class); + assertEquals("Hello World", out); - result.assertIsSatisfied(); + assertMockEndpointsSatisfied(); } protected CamelContext createCamelContext() throws Exception { @@ -79,12 +66,12 @@ public class JmsSimpleRequestReplyTest e protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { public void configure() throws Exception { - from("activemq:queue:hello").process(new Processor() { - public void process(Exchange exchange) throws Exception { - exchange.getIn().setBody("Bye World"); - assertNotNull(exchange.getIn().getHeader("JMSReplyTo")); - } - }).to("mock:result"); + from("direct:start") + .inOut("activemq:queue:foo") + .to("mock:result"); + + from("activemq:queue:foo") + .transform(body().prepend("Hello ")); } }; }