Move transaction configuration check to transaction.annotation package
AbstractTransactionManagementConfiguration.transactionalEventListenerFactory() creating a RestrictedTransactionalEventListenerFactory now. See gh-30679
This commit is contained in:
@@ -26,6 +26,7 @@ import org.springframework.core.ResolvableType;
|
||||
import org.springframework.core.annotation.AnnotatedElementUtils;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.RestrictedTransactionalEventListenerFactory;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.support.TransactionSynchronization;
|
||||
import org.springframework.transaction.support.TransactionSynchronizationManager;
|
||||
@@ -34,6 +35,7 @@ import org.springframework.util.ReflectionUtils;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
import static org.assertj.core.api.Assertions.assertThatIllegalStateException;
|
||||
import static org.assertj.core.api.Assertions.assertThatNoException;
|
||||
import static org.assertj.core.api.Assertions.assertThatRuntimeException;
|
||||
|
||||
/**
|
||||
@@ -129,22 +131,23 @@ public class TransactionalApplicationListenerMethodAdapterTests {
|
||||
|
||||
@Test
|
||||
public void withTransactionalAnnotation() {
|
||||
RestrictedTransactionalEventListenerFactory factory = new RestrictedTransactionalEventListenerFactory();
|
||||
Method m = ReflectionUtils.findMethod(SampleEvents.class, "withTransactionalAnnotation", String.class);
|
||||
assertThatIllegalStateException().isThrownBy(() -> createTestInstance(m));
|
||||
assertThatIllegalStateException().isThrownBy(() -> factory.createApplicationListener("test", SampleEvents.class, m));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void withTransactionalRequiresNewAnnotation() {
|
||||
RestrictedTransactionalEventListenerFactory factory = new RestrictedTransactionalEventListenerFactory();
|
||||
Method m = ReflectionUtils.findMethod(SampleEvents.class, "withTransactionalRequiresNewAnnotation", String.class);
|
||||
supportsEventType(true, m, createGenericEventType(String.class));
|
||||
supportsEventType(false, m, createGenericEventType(Double.class));
|
||||
assertThatNoException().isThrownBy(() -> factory.createApplicationListener("test", SampleEvents.class, m));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void withAsyncTransactionalAnnotation() {
|
||||
RestrictedTransactionalEventListenerFactory factory = new RestrictedTransactionalEventListenerFactory();
|
||||
Method m = ReflectionUtils.findMethod(SampleEvents.class, "withAsyncTransactionalAnnotation", String.class);
|
||||
supportsEventType(true, m, createGenericEventType(String.class));
|
||||
supportsEventType(false, m, createGenericEventType(Double.class));
|
||||
assertThatNoException().isThrownBy(() -> factory.createApplicationListener("test", SampleEvents.class, m));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user