Quantcast
Channel: Apache Timeline
Viewing all articles
Browse latest Browse all 5648

Inflight message gone when CamelContext shutdown

$
0
0
Hi
I have a simple route in Camel 2.8.2 and ActiveMQ 5.7.0. the use case is
whenever there is exception happened during processing, the camelContext
will be shutdown.

Here is the CamelContext setup
<camelContext id="camelContext"
xmlns="http://camel.apache.org/schema/spring" autoStartup="true" >
<errorHandler id="eh" type="TransactionErrorHandler"
redeliveryPolicyRef="redeliveryProfile">
</errorHandler>
<redeliveryPolicyProfile id="redeliveryProfile" maximumRedeliveries="-1"
redeliveryDelay="1000" retryAttemptedLogLevel="WARN"
logRetryAttempted="true"/>
<onException>
<exception>java.lang.Exception</exception>
<rollback />
</onException>
<route id="route1" shutdownRunningTask="CompleteCurrentTaskOnly"
errorHandlerRef="eh">
<from uri="amq:queue" />
<transacted />
<bean ref="bean1" method="handle" />
<bean ref="bean2" method="handle" />
</route>
</camelContext>

when i call CamelContext.stop or using the
ServiceHelper.stopAndShutdownService(); to stop the context in another
thread, most of the time, inflight message will gone but sometimes, the
inflight message will stay in the queue...

but if i kill the java process directly, the message will be in the queue.

Viewing all articles
Browse latest Browse all 5648

Trending Articles