This should not be too complicated to implement if needed. The idea in JBI is that service assemblies (aka routes un camel) have three real states: started, stopped and shutdown. Started means that all endpoints are fully operational. Shutdown means that no exchanges will be processed. The stopped state is the interesting one: consumer endpoints will not accept any new requests from the outside world but will still process existing requests. Other provider endpoints fully process requets. The goal is to ensure an orderly shut down of assemblies and not loose any messages. For example a jms consumer will stop consuming jms messages from the queue, but will still enqueue responses when they come back from the route.
If we are to support that in camel, we should do it in a way that we can easily control the lifecycle of mixed applications (if you mix servicemix endpoints and camel routes). On 02/02/2009, James Strachan <james.strac...@gmail.com> wrote: > 2009/2/2 Guillaume Nodet <gno...@gmail.com>: >> It might be doable. I guess the way to do that would be to define the >> JBI endpoint as a wrapper to a camel endpoint. When the JBI endpoint >> would be initialized / started, a camel route would be created for it. >> Not sure how well camel endpoints can handle the JBI lifecycle where >> new requests are not accepted, but existing exchanges are still >> processed until completion (for a consumer endpoint). > > Could you give an example of a well behaving JBI endpoint that does > this? I wonder how hard this would be to add; either at the > Camel-Endpoint-As-JBI-Endpoint wrapper or inside Camel etc > > -- > James > ------- > http://macstrac.blogspot.com/ > > Open Source Integration > http://fusesource.com/ > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com