Hi Can you post the XML so its readable :)
On Sat, Oct 1, 2011 at 6:40 PM, Aaron Doyle <a_r_do...@yahoo.com> wrote: > I have a small route that reads from an activemq queue and sends the message > to a bean, a service client that calls a web service, and am experiencing a > few issues. The onException configuration doesn't seem to get called when > the bean throws an exception, and it seems like some of my concurrent > consumers are getting the same message off the queue. The queue is preloaded > with 500 unique messages, the messages are eventually being loaded to a > database, the exception being thrown states that a duplicate key was being > inserted, which could only happen if two consumers picked up the same message > ( I think ). After all 500 messages are processed, I end up with ~495 in the > database and 5 missing (not on the failure queue defined by the onException. > > I am using ActiveMQ 5.4.1, Camel 2.8.1, Java 1.6.25, Spring 3.0.5 and Spring > WS 2.0.1. > > Here is my configuration: > > *Note: I am able to catch the exception if I explicitly put a doTry and > doCatch around the to endpoint in my route. Also, everything works and loads > into my db fine if I use 1 or 2 consumers. > > <beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"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"xsi:schemaLocation="> > <beanid="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><propertyname="placeholderPrefix"value="${"/><propertyname="placeholderSuffix"value="}"/> <camelContextid="camel"xmlns="http://camel.apache.org/schema/spring"> <onException> <exception>java.lang.Exception</exception> <redeliveryPolicymaximumRedeliveries="2"logStackTrace="true"logRetryAttempted="true"/> <touri="activemq:queue:loadableFailure"/> <routeid="loaderRoute"> <fromuri="activemq:queue:loadable"/> <touri="bean:loaderServiceClient?method=invokeService"/> </route> <beanid="jmsConnectionFactory"class="org.apache.activemq.ActiveMQConnectionFactory"> <propertyname="brokerURL"value="${messageQueueURI}"/> <beanid="pooledConnectionFactory"class="org.apache.activem > q.pool.PooledConnectionFactory"> <propertyname="maxConnections"value="50"/> <propertyname="maximumActive"value="500"/> <propertyname="connectionFactory"ref="jmsConnectionFactory"/> <beanid="jmsConfig"class="org.apache.camel.component.jms.JmsConfiguration"> <propertyname="connectionFactory"ref="pooledConnectionFactory"/> <propertyname="concurrentConsumers"value="50"/> <beanid="activemq"class="org.apache.activemq.camel.component.ActiveMQComponent"> </beans> <propertyname="configuration"ref="jmsConfig"/></bean></bean></bean></bean><beanid="loaderServiceClient"class="com.tms.relay.ws.loader.client.LoaderServiceClient"/></camelContext> </onException><propertyname="locations"><value>classpath:environment.properties</value></property></bean> -- Claus Ibsen ----------------- FuseSource Email: cib...@fusesource.com Web: http://fusesource.com Twitter: davsclaus, fusenews Blog: http://davsclaus.blogspot.com/ Author of Camel in Action: http://www.manning.com/ibsen/