Hi I created a ticket, so we wont forget about this https://issues.apache.org/activemq/browse/CAMEL-3240
On Thu, Oct 14, 2010 at 9:13 PM, Claus Ibsen <[email protected]> wrote: > 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 > -- 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
