Hello,
I got an issue with JMS transactions when I try to route a message I'm
consumming to another queue.
When I kill the camel component using "kill -9" or "Ctrl-C", I
sometimes lost messages.
According to Camel/JMS DEBUG logs, it seems that the message is sent
to my second queue with a new transaction instead of using the one
created when receiving the message.
Here is an extract of my spring configuration :
------------------------------------------------------------------------------------
<bean id="required"
class="org.apache.camel.spring.spi.SpringTransactionPolicy">
<property name="transactionManager" ref="amqTransactionManager"
/>
<property name="propagationBehaviorName"
value="PROPAGATION_MANDATORY" />
</bean>
<bean id="amqTransactionManager" name="amqTransactionManager"
class="org.springframework.jms.connection.JmsTransactionManager">
<property name="connectionFactory"
ref="amqPoolConnectionFactory" />
</bean>
<bean id="amqPoolConnectionFactory"
class="org.jencks.amqpool.PooledConnectionFactory">
<constructor-arg ref="amqConnectionFactory" />
<property name="maxConnections" value="10" />
<property name="maximumActive" value="10" />
</bean>
<amq:connectionFactory id="amqConnectionFactory"
brokerURL="${bo.activemq.brokerurl}"
warnAboutUnstartedConnectionTimeout="1">
<property name="redeliveryPolicy"
ref="transactedRedeliveryPolicy" />
<property name="transportListener" ref="jmsExceptionListener" />
<property name="exceptionListener" ref="jmsExceptionListener" />
</amq:connectionFactory>
<bean id="transactedRedeliveryPolicy"
class="org.apache.activemq.RedeliveryPolicy">
<property name="initialRedeliveryDelay" value="1000" />
<property name="maximumRedeliveries" value="5" />
<property name="useExponentialBackOff" value="true" />
</bean>
<camelContext id="ORDERS" shutdownRunningTask="CompleteCurrentTaskOnly"
xmlns="http://camel.apache.org/schema/spring">
<route id="ActiveMQ_ORDERS_TO_SCHEMA_VALIDATION">
<from ref="AMQ_ORDERS" />
<transacted ref="required"/>
<to ref="AMQ_ORDERS_2" />
</route>
</camelContext>
------------------------------------------------------------------------------------
Thanks a lot for any help you can offer !
Regards,
--
Céline