Hello. When using the camel delayer the camel consumer takes a message off the queue and sleeps the specified time. You can see in the web console that the messages received column indicates a message was received, it then waits X amount of time, and then forwards the message to the destination queue.
>From what I understand, this should be done in a transaction so as if during the sleep the broker goes down the message isn't lost. This is not the case. For me if I stop the broker the message is indeed lost. This becomes more of a problem when you are dealing with longer sleep times (e.g. 60 minutes). Should the camel delayer be consuming inside a transaction by default? If not is there a way to configure this in the activemq configuration? My current configuration: <camelContext id="camel" xmlns="http://activemq.apache.org/camel/schema/spring"> <!-- You can use a <package> element for each root package to search for Java routes --> <!--<package>org.foo.bar</package>--> <!-- You can use Spring XML syntax to define the routes here using the <route> element --> <route> <from uri="activemq:delayedSyncQueue"/> <delayer> <simple>header.delayme</simple> <to uri="activemq:syncQueue21"/> </delayer> </route> </camelContext> <!-- ** Lets configure some Camel endpoints ** ** http://activemq.apache.org/camel/components.html --> <!-- configure the camel activemq component to use the current broker --> <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent" > <property name="connectionFactory"> <bean class="org.apache.activemq.ActiveMQConnectionFactory"> <property name="brokerURL" value="vm://localhost?create=false&waitForStart=10000" /> <property name="userName" value="${activemq.username}"/> <property name="password" value="${activemq.password}"/> </bean> </property> </bean> -- View this message in context: http://old.nabble.com/camel-delayer-with-transaction-reliablity-tp27714449p27714449.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.