diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/bus/DefaultMessageBus.java b/org.springframework.integration/src/main/java/org/springframework/integration/bus/DefaultMessageBus.java index d58fb3b4bb..590bfded85 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/bus/DefaultMessageBus.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/bus/DefaultMessageBus.java @@ -317,7 +317,9 @@ public class DefaultMessageBus implements MessageBus, ApplicationContextAware, A for (Lifecycle gateway : this.lifecycleGateways) { gateway.start(); } - this.taskScheduler.setErrorHandler(new MessagePublishingErrorHandler(this.getErrorChannel())); + if (this.taskScheduler instanceof ProviderTaskScheduler) { + ((ProviderTaskScheduler) this.taskScheduler).setErrorHandler(new MessagePublishingErrorHandler(this.getErrorChannel())); + } this.taskScheduler.start(); } this.running = true; diff --git a/org.springframework.integration/src/main/java/org/springframework/integration/scheduling/TaskScheduler.java b/org.springframework.integration/src/main/java/org/springframework/integration/scheduling/TaskScheduler.java index 208650398c..947e0480f9 100644 --- a/org.springframework.integration/src/main/java/org/springframework/integration/scheduling/TaskScheduler.java +++ b/org.springframework.integration/src/main/java/org/springframework/integration/scheduling/TaskScheduler.java @@ -33,6 +33,4 @@ public interface TaskScheduler extends SchedulingTaskExecutor, Lifecycle { boolean cancel(Runnable task, boolean mayInterruptIfRunning); - void setErrorHandler(ErrorHandler errorHandler); - }