Author: davsclaus Date: Sat Nov 5 11:23:34 2011 New Revision: 1197933 URL: http://svn.apache.org/viewvc?rev=1197933&view=rev Log: CAMEL-4619: Fixed wrong timeout value used in logs during graceful shutdown when using a non default timeout value
Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java?rev=1197933&r1=1197932&r2=1197933&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/impl/DefaultShutdownStrategy.java Sat Nov 5 11:23:34 2011 @@ -124,7 +124,7 @@ public class DefaultShutdownStrategy ext } // use another thread to perform the shutdowns so we can support timeout - Future future = getExecutorService().submit(new ShutdownTask(context, routesOrdered, suspendOnly, abortAfterTimeout)); + Future future = getExecutorService().submit(new ShutdownTask(context, routesOrdered, timeout, timeUnit, suspendOnly, abortAfterTimeout)); try { if (timeout > 0) { future.get(timeout, timeUnit); @@ -239,7 +239,7 @@ public class DefaultShutdownStrategy ext * * @param consumer the consumer to shutdown */ - protected void shutdownNow(Consumer consumer) { + protected static void shutdownNow(Consumer consumer) { LOG.trace("Shutting down: {}", consumer); // allow us to do custom work before delegating to service helper @@ -259,7 +259,7 @@ public class DefaultShutdownStrategy ext * * @param consumer the consumer to suspend */ - protected void suspendNow(Consumer consumer) { + protected static void suspendNow(Consumer consumer) { LOG.trace("Suspending: {}", consumer); // allow us to do custom work before delegating to service helper @@ -300,7 +300,7 @@ public class DefaultShutdownStrategy ext } } - class ShutdownDeferredConsumer { + static class ShutdownDeferredConsumer { private final Route route; private final Consumer consumer; @@ -321,18 +321,23 @@ public class DefaultShutdownStrategy ext /** * Shutdown task which shutdown all the routes in a graceful manner. */ - class ShutdownTask implements Runnable { + static class ShutdownTask implements Runnable { private final CamelContext context; private final List<RouteStartupOrder> routes; private final boolean suspendOnly; private final boolean abortAfterTimeout; + private final long timeout; + private final TimeUnit timeUnit; - public ShutdownTask(CamelContext context, List<RouteStartupOrder> routes, boolean suspendOnly, boolean abortAfterTimeout) { + public ShutdownTask(CamelContext context, List<RouteStartupOrder> routes, long timeout, TimeUnit timeUnit, + boolean suspendOnly, boolean abortAfterTimeout) { this.context = context; this.routes = routes; this.suspendOnly = suspendOnly; this.abortAfterTimeout = abortAfterTimeout; + this.timeout = timeout; + this.timeUnit = timeUnit; } public void run() { @@ -424,7 +429,7 @@ public class DefaultShutdownStrategy ext if (size > 0) { try { LOG.info("Waiting as there are still " + size + " inflight and pending exchanges to complete, timeout in " - + (TimeUnit.SECONDS.convert(getTimeout(), getTimeUnit()) - (loopCount++ * loopDelaySeconds)) + " seconds."); + + (TimeUnit.SECONDS.convert(timeout, timeUnit) - (loopCount++ * loopDelaySeconds)) + " seconds."); Thread.sleep(loopDelaySeconds * 1000); } catch (InterruptedException e) { if (abortAfterTimeout) {