On Wed, Oct 13, 2010 at 12:24 PM, ext2 <[email protected]> wrote: > Hi: > It seems the camel's graceful shutdownis just like the requirement "robust > stop application": give a waiting time, force stop, and do it's best > ability to avoid lost message; > > But the camel cannot support "try to stop" interface; isn't it?
Fell free to create a ticket about that last requirement to give up (eg try to stop but give up if you could not do it after X seconds). > ====================================================== >>Hi >>Can you elaborate on the robust shutdown? > >>My experience is if you can't do the grace for shutdown with a certain >>time, the on flight exchanges maybe have no other change to be processed. > >>Do you mean Camel should store these on flight exchanges into a >>persistence storage, if the wait time is out. > > No, It doesn't ask for so such process. > > From the end user(system manager)'s point, it just means camel should give > him chance to choose: > 1) robust stop the application: It means the application must be stopped > until the waiting-time expired; > 2) or just try to stop application: it means the application must not be > stopped if system is still busy until waiting time out. > > This function could tell the system manager: if you don't want to lost the > message, you can do "try to stop " again and again. But if you couldn't > endure and choose to robust stop ((especially the case: deadlocked by extern > system), then you will have a risk to lost a message. > > whether using persistence storage or other means , it 's just a different > ways to implement the "try to stop" requirement; For example we can use > another simple ways to implement the requirement: > Suspending the consumer's IO operation to avoid continue to process > external message; and just waiting the Exchange to be processed over; if > the Exchange is still being processed while time out, just return false to > indicate try-stop failed; > > Thanks > > > > > > > -- 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
