Hi

There is an option on JMS endpoint, acceptMessagesWhileStopping
http://camel.apache.org/jms


If you have ActiveMQ embedded in the same JVM and its all Spring XML
that set it up, then you need to mess with Spring to tell it to stop
Camel before ActiveMQ etc. There is unfortunately not so many options
for you with spring. You usually only have the depends-on attribute.

See for example the camel management example in the Apache
distribution. It has an embedded AMQ + Camel in the same JVM.


On Tue, Jun 14, 2011 at 12:48 PM, Joshua Watkins
<joshua.watk...@gamesys.co.uk> wrote:
> I was using ActiveMQ 5.5 with Camel 2.7.0 and during a update of the route
> lost some messages and found this error in the log
>
> 2011-06-13 13:25:42,950 | INFO  | Starting to graceful shutdown 1 routes
> (timeout 300 seconds) | org.apache.camel.impl.DefaultShutdownStrategy |
> qtp788458698-45
> 2011-06-13 13:25:42,971 | WARN  | Rejecting received message because of
> the listener container having been stopped in the meantime:
> ActiveMQTextMessage
>
>
> My route is something like:
>
> <from uri="activemq:component?concurrentConsumers=300"/>
>    <choice id="choice2">
>        <when>
>                <simple>${in.headers.JMSType} == 'bob'</simple>
>                <multicast>
>                        <to uri="log:metrics?groupInterval=10000" id="to11"/>
>                        <to uri="activemq:component2" id="to12"/>
>                        <to uri="activemq:monitor.in"/>
>                </multicast>
>        </when>
>
>
> I did a search and found a bug corrected back in Camel 2.2 but nothing
> since then. Is there anyway to prevent accepting/rejecting messages when
> restarting the route?
>
>
>
>



-- 
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/

Reply via email to