Added 'waitForTasksToCompleteOnShutdown' property to SimpleMessagingTaskScheduler with a default value of 'true' (INT-268).

This commit is contained in:
Mark Fisher
2008-06-25 21:20:09 +00:00
parent 5ff1ab6b42
commit c18ec83cbf

View File

@@ -40,6 +40,8 @@ public class SimpleMessagingTaskScheduler extends AbstractMessagingTaskScheduler
private final ScheduledExecutorService executor;
private volatile boolean waitForTasksToCompleteOnShutdown = true;
private volatile ErrorHandler errorHandler;
private final Set<Runnable> pendingTasks = new CopyOnWriteArraySet<Runnable>();
@@ -55,6 +57,10 @@ public class SimpleMessagingTaskScheduler extends AbstractMessagingTaskScheduler
}
public void setWaitForTasksToCompleteOnShutdown(boolean waitForTasksToCompleteOnShutdown) {
this.waitForTasksToCompleteOnShutdown = waitForTasksToCompleteOnShutdown;
}
public void setErrorHandler(ErrorHandler errorHandler) {
this.errorHandler = errorHandler;
}
@@ -85,7 +91,12 @@ public class SimpleMessagingTaskScheduler extends AbstractMessagingTaskScheduler
public void stop() {
synchronized (this.lifecycleMonitor) {
if (this.running) {
this.executor.shutdownNow();
if (this.waitForTasksToCompleteOnShutdown) {
this.executor.shutdown();
}
else {
this.executor.shutdownNow();
}
this.running = false;
}
}