Merge branch '6.1.x'
# Conflicts: # spring-tx/src/test/java/org/springframework/transaction/annotation/EnableTransactionManagementTests.java # spring-tx/src/test/java/org/springframework/transaction/interceptor/TransactionInterceptorTests.java
This commit is contained in:
@@ -27,6 +27,8 @@ import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.springframework.context.ApplicationContext;
|
||||
import org.springframework.context.ApplicationContextAware;
|
||||
import org.springframework.context.ApplicationListener;
|
||||
@@ -191,14 +193,23 @@ public class SimpleAsyncTaskScheduler extends SimpleAsyncTaskExecutor implements
|
||||
}
|
||||
}
|
||||
|
||||
private Runnable scheduledTask(Runnable task) {
|
||||
return () -> execute(new DelegatingErrorHandlingRunnable(task, TaskUtils.LOG_AND_PROPAGATE_ERROR_HANDLER));
|
||||
}
|
||||
|
||||
private Runnable taskOnSchedulerThread(Runnable task) {
|
||||
return new DelegatingErrorHandlingRunnable(task, TaskUtils.getDefaultErrorHandler(true));
|
||||
}
|
||||
|
||||
private Runnable scheduledTask(Runnable task) {
|
||||
return () -> execute(new DelegatingErrorHandlingRunnable(task, this::shutdownAwareErrorHandler));
|
||||
}
|
||||
|
||||
private void shutdownAwareErrorHandler(Throwable ex) {
|
||||
if (this.scheduledExecutor.isTerminated()) {
|
||||
LogFactory.getLog(getClass()).debug("Ignoring scheduled task exception after shutdown", ex);
|
||||
}
|
||||
else {
|
||||
TaskUtils.getDefaultErrorHandler(true).handleError(ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Nullable
|
||||
|
||||
Reference in New Issue
Block a user