Hi,

I'm enabling transaction in JMS Queue consuming route, and trying to
configure RedeliveryPolicy in Spring/Camel file, but for some reason
redelivery policy is ignored, and JMS redelivery happens 6 times, and
immediately. What I want to achieve is 3 deliveries, with interval of 2 sec
between each other.
Environment:
  Java 1.8, compiled for 1.7
  Camel 2.14.0
  ActiveMQ: 5.9.1, using Queue
  Spring: 4.0.7.RELEASE

Here are my configuration XML and Java route, maybe someone have idea what
I'm doing wrong?

======== XML Config ==================================
<beans xmlns="http://www.springframework.org/schema/beans";
       .................>

    <bean id="fromFileRoute" class="camelerrortest.routetx.FromFileRoute"/>
    <bean id="toQueueRoute" class="camelerrortest.routetx.ToQueueRoute"/>
    <bean id="persistenceRoute"
class="camelerrortest.routetx.PersistenceRoute"/>

    <bean id="activemq"
class="org.apache.activemq.camel.component.ActiveMQComponent">
        <property name="transacted" value="true"/>
        <property name="transactionManager" ref="txManager"/>
    </bean>

    <bean id="txManager"
class="org.springframework.jms.connection.JmsTransactionManager">
        <property name="connectionFactory" ref="jmsConnectionFactory"/>
    </bean>

    <bean id="jmsConnectionFactory"
class="org.apache.activemq.ActiveMQConnectionFactory">
        <property name="brokerURL"
value="tcp://localhost:61616?jms.redeliveryPolicy.maximumRedeliveries=2"/>
        <property name="redeliveryPolicy">
            <bean class="org.apache.activemq.RedeliveryPolicy">
                <property name="maximumRedeliveries" value="3"/>
                <property name="redeliveryDelay" value="2000"/>
                <property name="maximumRedeliveryDelay" value="1000"/>
                <property name="initialRedeliveryDelay" value="1000"/>
            </bean>
        </property>
    </bean>

    <camelContext xmlns="http://camel.apache.org/schema/spring";>
        <routeBuilder ref="fromFileRoute"/>
        <routeBuilder ref="toQueueRoute"/>
        <routeBuilder ref="persistenceRoute"/>
    </camelContext>

</beans>

====== Java Route =============================
public class PersistenceRoute extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        from("activemq:incomingFiles?transacted=true")
                .transacted()
                .routeId("camel.imx.router.persistence")
                .bean(new ContentValidator())
                .to("file://C:/tmp/__camel_to_with_retry?autoCreate=false")
                .log(LoggingLevel.INFO, "Trying to persist payload from
body: ${body}");
    }
}

//Thanks in advance!





--
View this message in context: 
http://camel.465427.n5.nabble.com/RedeliveryPolicy-is-ignored-by-ActiveMQ-in-Camel-route-configuration-tp5758235.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to