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)