See this unit test
http://svn.apache.org/viewvc?rev=935691&view=rev

On Mon, Apr 19, 2010 at 7:52 PM, Claus Ibsen <claus.ib...@gmail.com> wrote:
> Hi
>
> Just defer shutting down the Jetty route.
> http://camel.apache.org/graceful-shutdown.html
>
> On Mon, Apr 19, 2010 at 7:08 PM, Ilya S <devmailboxl...@gmail.com> wrote:
>> I'd like to bump this thread up, and see if anyone has any suggestions.
>> Thanks.
>>
>> On Thu, Apr 15, 2010 at 10:24 AM, Ilya S <devmailboxl...@gmail.com> wrote:
>>> Here is a more detailed log (with TRACE level on) if that can help:
>>>
>>> [CP Connection(4)-10.58.123.154] DefaultCamelContext            INFO
>>> Apache Camel 2.2.0 (CamelContext:camel) is stopping
>>> [CP Connection(4)-10.58.123.154] DefaultShutdownStrategy        INFO
>>> Starting to graceful shutdown routes (timeout 600000 seconds)
>>> [ Camel thread 11: ShutdownTask] DefaultShutdownStrategy        DEBUG
>>> There are 1 routes to shutdown
>>> [ Camel thread 11: ShutdownTask] DefaultShutdownStrategy        TRACE
>>> Shutting down route: route1 with options
>>> [Default,CompleteCurrentTaskOnly]
>>> [ Camel thread 11: ShutdownTask] DefaultShutdownStrategy        TRACE
>>> Shutting down: Consumer[http://0.0.0.0:8686/hello]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service Consumer[http://0.0.0.0:8686/hello]
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> Container ser...@8032df - selectchannelconnec...@0.0.0.0:8686 as
>>> connector
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped org.mortbay.jetty.nio.selectchannelconnecto...@28df48
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped selectchannelconnec...@0.0.0.0:8686
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopping ser...@8032df
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopping contexthandlercollect...@8bfdea
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopping org.mortbay.jetty.servlet.cont...@1157f77{/,null}
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopping servlethand...@6399ae
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped org.apache.camel.component.http.CamelServlet-29615099
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped servlethand...@6399ae
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopping errorhand...@56acfa
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped errorhand...@56acfa
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped org.mortbay.jetty.servlet.cont...@1157f77{/,null}
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped contexthandlercollect...@8bfdea
>>> [3850...@qtp-9243153-3 - /hello] InstrumentationProcessor       TRACE
>>> to: Recording duration: 2342 millis for exchange: Exchange[Message: 2]
>>> [3850...@qtp-9243153-3 - /hello] InstrumentationProcessor       TRACE
>>> to: Recording duration: 2342 millis for exchange: Exchange[Message: 2]
>>> [3850...@qtp-9243153-3 - /hello] DefaultExceptionPolicyStrategy TRACE
>>> Finding best suited exception policy for thrown exception
>>> java.lang.InterruptedException
>>> [3850...@qtp-9243153-3 - /hello] DefaultExceptionPolicyStrategy TRACE
>>> Found 0 candidates
>>> [2390...@qtp-9243153-4 - /hello] JmsProducer                    DEBUG
>>> Future interrupted: java.lang.InterruptedException
>>> java.lang.InterruptedException
>>>        at 
>>> java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:926)
>>>        at 
>>> java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1201)
>>>        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:210)
>>>        at java.util.concurrent.FutureTask.get(FutureTask.java:85)
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.processInOut(JmsProducer.java:227)
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:147)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>>        at 
>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>>        at 
>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>        at 
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>        at 
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>        at 
>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:53)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>        at 
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>        at org.mortbay.jetty.Server.handle(Server.java:322)
>>>        at 
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>>>        at 
>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>>        at 
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>        at 
>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>>> [1671...@qtp-9243153-2 - /hello] InstrumentationProcessor       TRACE
>>> to: Recording duration: 19757 millis for exchange: Exchange[Message:
>>> 1]
>>> [3850...@qtp-9243153-3 - /hello] DefaultErrorHandler            DEBUG
>>> Failed delivery for exchangeId: 21b68982-8ec1-405b-97d8-56f6e533115f.
>>> On delivery attempt: 0 caught: java.lang.InterruptedException
>>> [1671...@qtp-9243153-2 - /hello] InstrumentationProcessor       TRACE
>>> to: Recording duration: 19758 millis for exchange: Exchange[Message:
>>> 1]
>>> [3850...@qtp-9243153-3 - /hello] DefaultTypeConverter           TRACE
>>> Converting java.lang.Boolean -> java.lang.Object with value: false
>>> [3850...@qtp-9243153-3 - /hello] DefaultErrorHandler            ERROR
>>> Failed delivery for exchangeId: 21b68982-8ec1-405b-97d8-56f6e533115f.
>>> Exhausted after delivery attempt: 1 caught:
>>> java.lang.InterruptedException
>>> java.lang.InterruptedException
>>>        at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:154)
>>>        at org.apache.log4j.Category.forcedLog(Category.java:388)
>>>        at org.apache.log4j.Category.log(Category.java:853)
>>>        at 
>>> org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:188)
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.processInOut(JmsProducer.java:231)
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:147)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>>        at 
>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>>        at 
>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>        at 
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>        at 
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>        at 
>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:53)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>        at 
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>        at org.mortbay.jetty.Server.handle(Server.java:322)
>>>        at 
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>>>        at 
>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>>        at 
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>        at 
>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>>> [2390...@qtp-9243153-4 - /hello] InstrumentationProcessor       TRACE
>>> to: Recording duration: 1826 millis for exchange: Exchange[Message: 3]
>>> [1671...@qtp-9243153-2 - /hello] DefaultExceptionPolicyStrategy TRACE
>>> Finding best suited exception policy for thrown exception
>>> java.lang.InterruptedException
>>> [3850...@qtp-9243153-3 - /hello] DefaultTypeConverter           TRACE
>>> Converting java.lang.Boolean -> java.lang.Object with value: false
>>> [2390...@qtp-9243153-4 - /hello] InstrumentationProcessor       TRACE
>>> to: Recording duration: 1827 millis for exchange: Exchange[Message: 3]
>>> [1671...@qtp-9243153-2 - /hello] DefaultExceptionPolicyStrategy TRACE
>>> Found 0 candidates
>>> [3850...@qtp-9243153-3 - /hello] DefaultErrorHandler            DEBUG
>>> This exchange is not handled so its marked as failed:
>>> Exchange[Message: 2]
>>> [2390...@qtp-9243153-4 - /hello] DefaultExceptionPolicyStrategy TRACE
>>> Finding best suited exception policy for thrown exception
>>> org.apache.camel.ExchangeTimedOutException
>>> [1671...@qtp-9243153-2 - /hello] DefaultErrorHandler            DEBUG
>>> Failed delivery for exchangeId: 915083b6-4291-4716-929d-aa451e29e495.
>>> On delivery attempt: 0 caught: java.lang.InterruptedException
>>> [2390...@qtp-9243153-4 - /hello] DefaultExceptionPolicyStrategy TRACE
>>> Found 0 candidates
>>> [3850...@qtp-9243153-3 - /hello] Pipeline                       DEBUG
>>> Message exchange has failed so breaking out of pipeline:
>>> Exchange[Message: 2] Exception: java.lang.InterruptedException
>>> [1671...@qtp-9243153-2 - /hello] DefaultTypeConverter           TRACE
>>> Converting java.lang.Boolean -> java.lang.Object with value: false
>>> [2390...@qtp-9243153-4 - /hello] DefaultErrorHandler            DEBUG
>>> Failed delivery for exchangeId: 5903a17f-bff9-4ba5-b8f4-78bc96149195.
>>> On delivery attempt: 0 caught:
>>> org.apache.camel.ExchangeTimedOutException: The OUT message was not
>>> received within: 50000 millis. Exchange[Message: 3]
>>> [1671...@qtp-9243153-2 - /hello] DefaultErrorHandler            ERROR
>>> Failed delivery for exchangeId: 915083b6-4291-4716-929d-aa451e29e495.
>>> Exhausted after delivery attempt: 1 caught:
>>> java.lang.InterruptedException
>>> java.lang.InterruptedException
>>>        at org.apache.log4j.spi.LoggingEvent.<init>(LoggingEvent.java:154)
>>>        at org.apache.log4j.Category.forcedLog(Category.java:388)
>>>        at org.apache.log4j.Category.log(Category.java:853)
>>>        at 
>>> org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:188)
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.processInOut(JmsProducer.java:231)
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:147)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>>        at 
>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>>        at 
>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>        at 
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>        at 
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>        at 
>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:53)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>        at 
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>        at org.mortbay.jetty.Server.handle(Server.java:322)
>>>        at 
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>>>        at 
>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>>        at 
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>        at 
>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>>> [2390...@qtp-9243153-4 - /hello] DefaultTypeConverter           TRACE
>>> Converting java.lang.Boolean -> java.lang.Object with value: false
>>> [3850...@qtp-9243153-3 - /hello] Pipeline                       TRACE
>>> Processing complete for exchangeId:
>>> 21b68982-8ec1-405b-97d8-56f6e533115f >>> Exchange[Message: 2]
>>> [1671...@qtp-9243153-2 - /hello] DefaultTypeConverter           TRACE
>>> Converting java.lang.Boolean -> java.lang.Object with value: false
>>> [2390...@qtp-9243153-4 - /hello] DefaultErrorHandler            ERROR
>>> Failed delivery for exchangeId: 5903a17f-bff9-4ba5-b8f4-78bc96149195.
>>> Exhausted after delivery attempt: 1 caught:
>>> org.apache.camel.ExchangeTimedOutException: The OUT message was not
>>> received within: 50000 millis. Exchange[Message: 3]
>>> org.apache.camel.ExchangeTimedOutException: The OUT message was not
>>> received within: 50000 millis. Exchange[Message: 3]
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.processInOut(JmsProducer.java:265)
>>>        at 
>>> org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:147)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:97)
>>>        at 
>>> org.apache.camel.processor.SendProcessor$1.doInProducer(SendProcessor.java:95)
>>>        at 
>>> org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:146)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.doProcess(SendProcessor.java:94)
>>>        at 
>>> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:82)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:53)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:82)
>>>        at 
>>> org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:93)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processExchange(RedeliveryErrorHandler.java:177)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:143)
>>>        at 
>>> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:88)
>>>        at 
>>> org.apache.camel.processor.DefaultErrorHandler.process(DefaultErrorHandler.java:49)
>>>        at 
>>> org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:228)
>>>        at org.apache.camel.processor.Pipeline.process(Pipeline.java:74)
>>>        at 
>>> org.apache.camel.processor.UnitOfWorkProcessor.processNext(UnitOfWorkProcessor.java:66)
>>>        at 
>>> org.apache.camel.processor.DelegateProcessor.process(DelegateProcessor.java:48)
>>>        at 
>>> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:67)
>>>        at 
>>> org.apache.camel.component.http.CamelServlet.service(CamelServlet.java:53)
>>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
>>>        at 
>>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
>>>        at 
>>> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
>>>        at 
>>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>>>        at org.mortbay.jetty.Server.handle(Server.java:322)
>>>        at 
>>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>>>        at 
>>> org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
>>>        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
>>>        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
>>>        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>>>        at 
>>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
>>>        at 
>>> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>>> [1671...@qtp-9243153-2 - /hello] DefaultErrorHandler            DEBUG
>>> This exchange is not handled so its marked as failed:
>>> Exchange[Message: 1]
>>> [3850...@qtp-9243153-3 - /hello] DefaultInflightRepository      TRACE
>>> Total 2 inflight exchanges. Last removed:
>>> 21b68982-8ec1-405b-97d8-56f6e533115f
>>> [2390...@qtp-9243153-4 - /hello] DefaultTypeConverter           TRACE
>>> Converting java.lang.Boolean -> java.lang.Object with value: false
>>> [1671...@qtp-9243153-2 - /hello] Pipeline                       DEBUG
>>> Message exchange has failed so breaking out of pipeline:
>>> Exchange[Message: 1] Exception: java.lang.InterruptedException
>>> [3850...@qtp-9243153-3 - /hello] InstrumentationProcessor       TRACE
>>> route: Recording duration: 2347 millis for exchange: Exchange[Message:
>>> [Body is instance of java.io.InputStream]]
>>> [2390...@qtp-9243153-4 - /hello] DefaultErrorHandler            DEBUG
>>> This exchange is not handled so its marked as failed:
>>> Exchange[Message: 3]
>>> [1671...@qtp-9243153-2 - /hello] Pipeline                       TRACE
>>> Processing complete for exchangeId:
>>> 915083b6-4291-4716-929d-aa451e29e495 >>> Exchange[Message: 1]
>>> [2390...@qtp-9243153-4 - /hello] Pipeline                       DEBUG
>>> Message exchange has failed so breaking out of pipeline:
>>> Exchange[Message: 3] Exception:
>>> org.apache.camel.ExchangeTimedOutException: The OUT message was not
>>> received within: 50000 millis. Exchange[Message: 3]
>>> [1671...@qtp-9243153-2 - /hello] DefaultInflightRepository      TRACE
>>> Total 1 inflight exchanges. Last removed:
>>> 915083b6-4291-4716-929d-aa451e29e495
>>> [2390...@qtp-9243153-4 - /hello] Pipeline                       TRACE
>>> Processing complete for exchangeId:
>>> 5903a17f-bff9-4ba5-b8f4-78bc96149195 >>> Exchange[Message: 3]
>>> [1671...@qtp-9243153-2 - /hello] InstrumentationProcessor       TRACE
>>> route: Recording duration: 19763 millis for exchange:
>>> Exchange[Message: [Body is instance of java.io.InputStream]]
>>> [2390...@qtp-9243153-4 - /hello] DefaultInflightRepository      TRACE
>>> Total 0 inflight exchanges. Last removed:
>>> 5903a17f-bff9-4ba5-b8f4-78bc96149195
>>> [3850...@qtp-9243153-3 - /hello] log                            DEBUG
>>> RESPONSE /hello  500
>>> [2390...@qtp-9243153-4 - /hello] InstrumentationProcessor       TRACE
>>> route: Recording duration: 1830 millis for exchange: Exchange[Message:
>>> [Body is instance of java.io.InputStream]]
>>> [        23850...@qtp-9243153-3] log                            DEBUG EOF
>>> [2390...@qtp-9243153-4 - /hello] log                            DEBUG
>>> RESPONSE /hello  500
>>> [         2390...@qtp-9243153-4] log                            DEBUG EOF
>>> [1671...@qtp-9243153-2 - /hello] log                            DEBUG
>>> RESPONSE /hello  500
>>> [         1671...@qtp-9243153-2] log                            DEBUG EOF
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped org.mortbay.thread.queuedthreadp...@8d0a11
>>> [ Camel thread 11: ShutdownTask] log                            DEBUG
>>> stopped ser...@8032df
>>> [ Camel thread 11: ShutdownTask] HttpConsumer                   DEBUG
>>> Stopping consumer: Consumer[http://0.0.0.0:8686/hello]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:route[UnitOfWork(pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]])]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> UnitOfWork(pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]])
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> channel[org.apache.camel.example.server.serverroute...@d1f0ad]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:process[traceinterceptor[process[org.apache.camel.example.server.serverroute...@d1f0ad]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> traceinterceptor[process[org.apache.camel.example.server.serverroute...@d1f0ad]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:process[org.apache.camel.example.server.serverroute...@d1f0ad]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> DefaultErrorHandler[Instrumentation:process[traceinterceptor[process[org.apache.camel.example.server.serverroute...@d1f0ad]]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:process[traceinterceptor[process[org.apache.camel.example.server.serverroute...@d1f0ad]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:to[TraceInterceptor[To[jms://queue:numbers2?requestTimeout=50000]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> TraceInterceptor[To[jms://queue:numbers2?requestTimeout=50000]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:to[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> org.apache.camel.impl.sharedproducerservicep...@11d20d3
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> DefaultErrorHandler[Instrumentation:to[TraceInterceptor[To[jms://queue:numbers2?requestTimeout=50000]]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:to[TraceInterceptor[To[jms://queue:numbers2?requestTimeout=50000]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:process[traceinterceptor[process[org.apache.camel.example.server.serverroute...@1d6b049]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> traceinterceptor[process[org.apache.camel.example.server.serverroute...@1d6b049]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:process[org.apache.camel.example.server.serverroute...@1d6b049]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> DefaultErrorHandler[Instrumentation:process[traceinterceptor[process[org.apache.camel.example.server.serverroute...@1d6b049]]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> Instrumentation:process[traceinterceptor[process[org.apache.camel.example.server.serverroute...@1d6b049]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service: Channel[sendTo(Endpoint[multiplier])]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service: Instrumentation:to[TraceInterceptor[To[multiplier]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service: TraceInterceptor[To[multiplier]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service: Instrumentation:to[sendTo(Endpoint[multiplier])]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service: sendTo(Endpoint[multiplier])
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> org.apache.camel.impl.sharedproducerservicep...@11d20d3
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service:
>>> DefaultErrorHandler[Instrumentation:to[TraceInterceptor[To[multiplier]]]]
>>> [ Camel thread 11: ShutdownTask] ServiceHelper                  TRACE
>>> Stopping service: Instrumentation:to[TraceInterceptor[To[multiplier]]]
>>> [ Camel thread 11: ShutdownTask] DefaultShutdownStrategy        DEBUG
>>> Shutdown complete for: Consumer[http://0.0.0.0:8686/hello]
>>> [ Camel thread 11: ShutdownTask] DefaultShutdownStrategy        INFO
>>> Route: route1 shutdown complete.
>>> [CP Connection(4)-10.58.123.154] DefaultShutdownStrategy        INFO
>>> Graceful shutdown of routes completed in 0 seconds
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service org.apache.camel.impl.routeserv...@dd421f
>>> [CP Connection(4)-10.58.123.154] RouteService                   TRACE
>>> Stopping route:
>>> EventDrivenConsumerRoute[Endpoint[http://0.0.0.0:8686/hello] ->
>>> Instrumentation:route[UnitOfWork(pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]])]]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service Consumer[http://0.0.0.0:8686/hello]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> Instrumentation:route[UnitOfWork(pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]])]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> UnitOfWork(pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]])
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> channel[org.apache.camel.example.server.serverroute...@d1f0ad]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service Channel[sendTo(Endpoint[multiplier])]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service sendTo(Endpoint[multiplier])
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> EventDrivenConsumerRoute[Endpoint[http://0.0.0.0:8686/hello] ->
>>> Instrumentation:route[UnitOfWork(pipeline[channel[org.apache.camel.example.server.serverroute...@d1f0ad],
>>> Channel[sendTo(Endpoint[jms://queue:numbers2?requestTimeout=50000])],
>>> channel[org.apache.camel.example.server.serverroute...@1d6b049],
>>> Channel[sendTo(Endpoint[multiplier])]])]]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service Producer[multiplier]
>>> [CP Connection(4)-10.58.123.154] ProcessorEndpoint$1            DEBUG
>>> Stopping producer: Producer[multiplier]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service Producer[jms://queue:numbers2?requestTimeout=50000]
>>> [CP Connection(4)-10.58.123.154] JmsProducer                    DEBUG
>>> Stopping producer: Producer[jms://queue:numbers2?requestTimeout=50000]
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service org.apache.camel.impl.defaultshutdownstrat...@1c5a33b
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> org.apache.camel.impl.defaultinflightreposit...@d8978c
>>> [CP Connection(4)-10.58.123.154] DefaultInflightRepository      INFO
>>> Shutting down with no inflight exchanges.
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> org.apache.camel.impl.converter.defaulttypeconver...@da9067
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> org.apache.activemq.camel.component.activemqcompon...@1104da7
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> org.apache.camel.component.event.eventcompon...@1031310
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> org.apache.camel.example.server.myhttpjettycompon...@659812
>>> [CP Connection(4)-10.58.123.154] SharedProducerServicePool      DEBUG
>>> Stopping service pool:
>>> org.apache.camel.impl.sharedproducerservicep...@11d20d3
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> org.apache.camel.impl.defaultinflightreposit...@d8978c
>>> [CP Connection(4)-10.58.123.154] ServiceHelper                  TRACE
>>> Stopping service
>>> org.apache.camel.management.managedmanagementstrat...@1894800
>>> [CP Connection(4)-10.58.123.154] DefaultCamelContext            INFO
>>> Apache Camel 2.2.0 (CamelContext:camel) stopped
>>> [  InactivityMonitor WriteCheck] InactivityMonitor              DEBUG
>>> 10001 ms elapsed since last write check.
>>> [  InactivityMonitor WriteCheck] InactivityMonitor              TRACE
>>> Message sent since last write check, resetting flag
>>> [   InactivityMonitor ReadCheck] InactivityMonitor              DEBUG
>>> 30004 ms elapsed since last read check.
>>> [   InactivityMonitor ReadCheck] InactivityMonitor              TRACE
>>> Message received since last read check, resetting flag:
>>>
>>>
>>>
>>>
>>> On Thu, Apr 15, 2010 at 8:42 AM, Ilya S <devmailboxl...@gmail.com> wrote:
>>>> Thanks Claus,
>>>>
>>>> I'm currently back to using 2.2.0 because I can see the source code.
>>>> But I tried 2.3-SNAPSHOT also with the same issue.
>>>> Please, see my full route in previous post.
>>>>
>>>>
>>>> On Thu, Apr 15, 2010 at 2:17 AM, Claus Ibsen <claus.ib...@gmail.com> wrote:
>>>>> Hi
>>>>>
>>>>> All the unit tests run with graceful shutdown by default, and all unit
>>>>> tests with camel-jetty shut down with no issues.
>>>>>
>>>>> The in flight repository do keep track of all in flights. I can only
>>>>> think of if you use the aggregator or some custom code which
>>>>> can cause the exchange to be completed in Camels point of view.
>>>>>
>>>>> Can you post your entire route?
>>>>>
>>>>> And as always report which version of Camel you are using? And try
>>>>> with the latest stable and even with 2.3-SNAPSHOT.
>>>>>
>>>>>
>>>>> On Wed, Apr 14, 2010 at 7:41 PM, Ilya S <devmailboxl...@gmail.com> wrote:
>>>>>> Hi All,
>>>>>>
>>>>>> Fist of all, thank you for this great product!
>>>>>> Every new release brings excellent new features just in time.
>>>>>>
>>>>>> I'm currently investigating Graceful Shutdown feature, and I'm am
>>>>>> wondering if graceful shutdown is supported for Camel-Jetty component?
>>>>>> I was able to successfully shut down JMS component. However,
>>>>>> JettyHttpCoponent seems to have issues when shutting down.
>>>>>>
>>>>>> In my simple test (adopted from camel-example-spring-jms:ServerRoute
>>>>>> example) I have a simple route that looks like this:
>>>>>>
>>>>>> from("jetty:http://0.0.0.0:8686/hello";)
>>>>>> ..
>>>>>> .. do work
>>>>>> ...
>>>>>> .to("jms:queue:numbers2?requestTimeout=50000")
>>>>>> .to("multiplier");
>>>>>>
>>>>>>
>>>>>> My producers simply send numbers to http endpoint..
>>>>>>
>>>>>>
>>>>>> When I shutdown this context gracefully I'm getting all sort of
>>>>>> exceptions from Jetty, and the context does not seem to wait until
>>>>>> inflight exchanges have finished.
>>>>>> I'm using the defaults everywhere (e.g. default shutdown strategy).
>>>>>>
>>>>>> Is shutdown supported for Jetty, and if so how should one configure
>>>>>> jetty to initiate proper shutdown?
>>>>>>
>>>>>> Thank you,
>>>>>>
>>>>>> Ilya.
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Claus Ibsen
>>>>> Apache Camel Committer
>>>>>
>>>>> Author of Camel in Action: http://www.manning.com/ibsen/
>>>>> Open Source Integration: http://fusesource.com
>>>>> Blog: http://davsclaus.blogspot.com/
>>>>> Twitter: http://twitter.com/davsclaus
>>>>>
>>>>
>>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Author of Camel in Action: http://www.manning.com/ibsen/
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Author of Camel in Action: http://www.manning.com/ibsen/
Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Reply via email to