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:
commit
13221ac0ef
|
|
@ -27,6 +27,8 @@ import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
import java.util.concurrent.ScheduledThreadPoolExecutor;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.context.ApplicationContextAware;
|
||||||
import org.springframework.context.ApplicationListener;
|
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) {
|
private Runnable taskOnSchedulerThread(Runnable task) {
|
||||||
return new DelegatingErrorHandlingRunnable(task, TaskUtils.getDefaultErrorHandler(true));
|
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
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
|
|
|
||||||
|
|
@ -286,8 +286,9 @@ class EnableTransactionManagementTests {
|
||||||
|
|
||||||
ctx.close();
|
ctx.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void spr14322FindsOnInterfaceWithInterfaceProxy() {
|
void spr14322AnnotationOnInterfaceWithInterfaceProxy() {
|
||||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Spr14322ConfigA.class);
|
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Spr14322ConfigA.class);
|
||||||
TransactionalTestInterface bean = ctx.getBean(TransactionalTestInterface.class);
|
TransactionalTestInterface bean = ctx.getBean(TransactionalTestInterface.class);
|
||||||
CallCountingTransactionManager txManager = ctx.getBean(CallCountingTransactionManager.class);
|
CallCountingTransactionManager txManager = ctx.getBean(CallCountingTransactionManager.class);
|
||||||
|
|
@ -302,7 +303,7 @@ class EnableTransactionManagementTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
void spr14322FindsOnInterfaceWithCglibProxy() {
|
void spr14322AnnotationOnInterfaceWithCglibProxy() {
|
||||||
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Spr14322ConfigB.class);
|
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(Spr14322ConfigB.class);
|
||||||
TransactionalTestInterface bean = ctx.getBean(TransactionalTestInterface.class);
|
TransactionalTestInterface bean = ctx.getBean(TransactionalTestInterface.class);
|
||||||
CallCountingTransactionManager txManager = ctx.getBean(CallCountingTransactionManager.class);
|
CallCountingTransactionManager txManager = ctx.getBean(CallCountingTransactionManager.class);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue