Return-Path: X-Original-To: apmail-camel-commits-archive@www.apache.org Delivered-To: apmail-camel-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 78195659E for ; Mon, 20 Jun 2011 16:44:31 +0000 (UTC) Received: (qmail 11461 invoked by uid 500); 20 Jun 2011 16:44:31 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 11420 invoked by uid 500); 20 Jun 2011 16:44:31 -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 11401 invoked by uid 99); 20 Jun 2011 16:44:24 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 20 Jun 2011 16:44:24 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.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; Mon, 20 Jun 2011 16:44:22 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id CB5302388A3B; Mon, 20 Jun 2011 16:44:00 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1137696 - in /camel/trunk/components/camel-jms/src: main/java/org/apache/camel/component/jms/ test/java/org/apache/camel/component/jms/ Date: Mon, 20 Jun 2011 16:44:00 -0000 To: commits@camel.apache.org From: davsclaus@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110620164400.CB5302388A3B@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: davsclaus Date: Mon Jun 20 16:44:00 2011 New Revision: 1137696 URL: http://svn.apache.org/viewvc?rev=1137696&view=rev Log: CAMEL-4123: Created javax.jms.Message should have default delivery mode preset. CAMEL-4124: Fixed issue with using preserveMessageQos not preserving JMSDeliveryMode under certain curcomstanses. Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java?rev=1137696&r1=1137695&r2=1137696&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsBinding.java Mon Jun 20 16:44:00 2011 @@ -400,7 +400,10 @@ public class JmsBinding { protected Message createJmsMessage(Exception cause, Session session) throws JMSException { LOG.trace("Using JmsMessageType: {}", Object); - return session.createObjectMessage(cause); + Message answer = session.createObjectMessage(cause); + // ensure default delivery mode is used by default + answer.setJMSDeliveryMode(Message.DEFAULT_DELIVERY_MODE); + return answer; } protected Message createJmsMessage(Exchange exchange, Object body, Map headers, Session session, CamelContext context) throws JMSException { @@ -410,7 +413,10 @@ public class JmsBinding { if (endpoint != null && endpoint.isTransferExchange()) { LOG.trace("Option transferExchange=true so we use JmsMessageType: Object"); Serializable holder = DefaultExchangeHolder.marshal(exchange); - return session.createObjectMessage(holder); + Message answer = session.createObjectMessage(holder); + // ensure default delivery mode is used by default + answer.setJMSDeliveryMode(Message.DEFAULT_DELIVERY_MODE); + return answer; } // use a custom message converter @@ -434,7 +440,10 @@ public class JmsBinding { // create the JmsMessage based on the type if (type != null) { LOG.trace("Using JmsMessageType: {}", type); - return createJmsMessageForType(exchange, body, headers, session, context, type); + Message answer = createJmsMessageForType(exchange, body, headers, session, context, type); + // ensure default delivery mode is used by default + answer.setJMSDeliveryMode(Message.DEFAULT_DELIVERY_MODE); + return answer; } // warn if the body could not be mapped @@ -447,7 +456,10 @@ public class JmsBinding { } // return a default message - return session.createMessage(); + Message answer = session.createMessage(); + // ensure default delivery mode is used by default + answer.setJMSDeliveryMode(Message.DEFAULT_DELIVERY_MODE); + return answer; } /** Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java?rev=1137696&r1=1137695&r2=1137696&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsConfiguration.java Mon Jun 20 16:44:00 2011 @@ -243,7 +243,8 @@ public class JmsConfiguration implements // remove the temporary property JmsMessageHelper.removeJmsProperty(message, JmsConstants.JMS_DELIVERY_MODE); } else { - deliveryMode = this.getDeliveryMode(); + // use the existing delivery mode from the message + deliveryMode = message.getJMSDeliveryMode(); } // need to log just before so the message is 100% correct when logged Modified: camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java?rev=1137696&r1=1137695&r2=1137696&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java (original) +++ camel/trunk/components/camel-jms/src/main/java/org/apache/camel/component/jms/JmsMessageHelper.java Mon Jun 20 16:44:00 2011 @@ -227,7 +227,7 @@ public final class JmsMessageHelper { * @throws javax.jms.JMSException is thrown if error setting the delivery mode */ public static void setJMSDeliveryMode(Exchange exchange, Message message, Object deliveryMode) throws JMSException { - int mode = Message.DEFAULT_DELIVERY_MODE; + Integer mode = null; if (deliveryMode instanceof String) { String s = (String) deliveryMode; @@ -252,8 +252,10 @@ public final class JmsMessageHelper { } } - message.setJMSDeliveryMode(mode); - message.setIntProperty(JmsConstants.JMS_DELIVERY_MODE, mode); + if (mode != null) { + message.setJMSDeliveryMode(mode); + message.setIntProperty(JmsConstants.JMS_DELIVERY_MODE, mode); + } } } Modified: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java?rev=1137696&r1=1137695&r2=1137696&view=diff ============================================================================== --- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java (original) +++ camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsRouteDeliveryModePreserveQoSTest.java Mon Jun 20 16:44:00 2011 @@ -118,10 +118,10 @@ public class JmsRouteDeliveryModePreserv @Override public void configure() throws Exception { from("activemq:queue:foo") - .to("log:foo") .to("activemq:queue:bar?preserveMessageQos=true"); - from("activemq:queue:bar").to("mock:bar"); + from("activemq:queue:bar") + .to("mock:bar"); } }; }