You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Antoine DESSAIGNE (JIRA)" <ji...@apache.org> on 2015/03/17 10:59:38 UTC

[jira] [Commented] (CAMEL-8499) Graceful shutdown - Add kill operation

    [ https://issues.apache.org/jira/browse/CAMEL-8499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14364852#comment-14364852 ] 

Antoine DESSAIGNE commented on CAMEL-8499:
------------------------------------------

Hi Claus,

We implemented this using a simple call to {{cancel(true)}} on the {{currentShutdownTaskFuture}} of the {{DefaultShutdownStrategy}}.
Maybe it would be better to make the {{DefaultShutdownStrategy}} truly stateless.
For instance we could have something like
{code}
public interface ShutdownStrategy {
    public Shutdown shutdown(CamelContext context);
}

public interface Shutdown {
    boolean isComplete();
    boolean hasTimeoutOccured();
    int getPendingMessageCount(); // refreshed every second
    int getDuration();
    boolean forceShutdown();
}
{code}

Right now the fields of a particular shutdown task are direct attributes of {{DefaultShutdownStrategy}}.

What do you think ?

> Graceful shutdown - Add kill operation
> --------------------------------------
>
>                 Key: CAMEL-8499
>                 URL: https://issues.apache.org/jira/browse/CAMEL-8499
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-core, jmx
>    Affects Versions: 2.15.0
>            Reporter: Claus Ibsen
>            Priority: Minor
>             Fix For: Future
>
>
> When Camel is doing a graceful shutdown, it may take some time to shutdown to drain inflight exchanges. And as that by default has a timeout of 300 seconds that is counting down. Then sometimes end users dont bother, eg its a test environment etc. Then we should have a JMX / Java API on graceful shutdown to terminate this timeout asap. Its basically to cancel the future task to do it.
> We can then also have a karaf commands as well. Maybe its reusing the stop command but with a --kill flag.
> If kill is a too extreme wording, we could use force stop or something instead.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)