Hi All, We have a camel route processing requests came on to a queue and that queue is having concurrent consumers. Route is configured to redeliver the message for 3 times when there is an exception.
We observed that the same message is getting submitted multiple times and there is an increase in the message count on the request q(for a single request we are ending up with 1000s of messages(duplicated)) and all are ultimately reaching error q slowly if there is some error. */The understanding I need is if concurrent consumers are enabled, if a message is redelivered by a consumer1 with a delay, will that message be considered as a new message by consumer2? If so how to skip this behavior?/* Can some one please shed some light on this? Below is the sample route configuration ===================================== <camelContext id="serviceAdapterContext" xmlns="http://camel.apache.org/schema/spring" trace="false"> <route id="order.initialRoute"> <from uri="mqjms:java:comp/env/jms/mq/requestQ?receiveTimeout=30000&recoveryInterval=60000&cacheLevelName=CACHE_CONSUMER&disableReplyTo=true&concurrentConsumers=2" /> <transacted ref="orderService.transactionPolicy.jms.PROPAGATION_REQUIRES_NEW" /> <convertBodyTo type="java.io.InputStream" /> <unmarshal ref="statusJaxbDataFormat" /> <setHeader headerName="ORDER_STATUS"> <simple resultType="com.xyz.domain.adapter.OrderStatus">${body}</simple> </setHeader> <setBody> <simple>${header.ORDER_STATUS}</simple> </setBody> <setHeader headerName="STATUS"> <simple resultType="java.lang.String">${body.status.lineStatus[0].status}</simple> </setHeader> <choice> <when> <simple>${header.STATUS} == 'A'</simple> <to uri="bean:serviceAdapter?method=processOrder" /> </when> </choice> <onException useOriginalMessage="true"> <exception>java.lang.Exception</exception> <exception>com.xyz.exception.RetryableException</exception> <redeliveryPolicy redeliveryDelay="10000 retryAttemptedLogLevel="WARN" maximumRedeliveries="3" /> <handled> <constant>true</constant> </handled> <log message="An error occurred ${exception}" loggingLevel="ERROR" /> <to uri="mqjms:java:comp/env/jms/mq/errorQ" /> </onException> </route> ============================================================== -- View this message in context: http://camel.465427.n5.nabble.com/Duplicate-JMS-messages-are-getting-piled-up-with-redelivery-of-messages-tp5746912.html Sent from the Camel - Users mailing list archive at Nabble.com.
