Hi I have created a ticket https://issues.apache.org/activemq/browse/CAMEL-2660
And did some experiment but Jetty resets the current in progress connection so it will fail. I even tried sending from a webbrowser and have Camel stop while in progress. Would returning a selected HTTP error code work with your load balancer? For example HTTP error 503 503 Service Unavailable This is easy to implement in camel-jetty. On Tue, Apr 20, 2010 at 7:13 AM, Claus Ibsen <claus.ib...@gmail.com> wrote: > Hi > > camel-jetty does not currently support shutting down by stopping > intaking new requests while allowing existing to be processed to > completion. > In fact this is something that each individual component has to implemented. > > This can be done by supporting the SuspendableService on the consumer. > Then the graceful shutdown in camel-core will be able to leverage it. > > For example this has been implemented in camel-jms etc. > > > > > On Tue, Apr 20, 2010 at 12:10 AM, Ilya S <devmailboxl...@gmail.com> wrote: >> Hi Claus, >> >> The test cases were helpful. However, the reason I cannot use "Defer" >> option is because my Jetty input point is public, and if I have this >> option set, then the new messages will keep comming from the clients >> and the context will never be done. My goal is stop processesing >> gracefully while not acceptin new messages. E.g. Jetty entry point >> should not accept any new messages, while it should still let the >> pending messages finish. >> In our use case, once jetty component stops acceptin new messages, our >> load ballancer will take it off the pool, however, we would still like >> the in flight messages to finish. >> The issue seems only occur when I use Jetty and JMS together. >> >> The simple route with just one jetty consumer such as the one below >> seems to shutdown just fine : >> from("jetty:http://0.0.0.0:8686/hello") >> .delay(5000) >> .to("multiplier"); >> >> If I add a jms producer to the mix as follows, things break: >> from("jetty:http://0.0.0.0:8686/hello") >> .delay(5000) >> .to("jms:queue:numbers2?requestTimeout=50000") >> .to("multiplier"); >> >> The other queue is running in a different context, but I don't think >> this should matter. >> >> Please, let me know if you think I'm misusing the API, or if it is an >> actual bug. >> >> Thanks again, >> 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