camel-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Claus Ibsen <>
Subject Re: Does Gracefull shutdown Mbean support waiting time argument?
Date Sat, 16 Oct 2010 07:13:54 GMT

I created a ticket, so we wont forget about this

On Thu, Oct 14, 2010 at 9:13 PM, Claus Ibsen <> wrote:
> On Wed, Oct 13, 2010 at 12:24 PM, ext2 <> 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).
>> ======================================================
>>>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:
> Open Source Integration:
> Blog:
> Twitter:

Claus Ibsen
Apache Camel Committer

Author of Camel in Action:
Open Source Integration:

View raw message