Fix deprecation for TX; fix JMS tests; Moore-SR6

* Upgrade to Spring Data Moore-SR6
* Fix `TransactionHandleMessageAdvice` and `TransactionInterceptorBuilder`
for deprecations in the `TransactionInterceptor`
* Fix `TransactionHandleMessageAdvice` and `TransactionInterceptorBuilder`
consumers to expose new `TransactionManager`-based options and
deprecate `PlatformTransactionManager`-based
* Fix failing JMS tests to reuse an ActiveMQ Connection Factory with a
`trustedPackaged(*)`

**Cherry-pick to master**

# Conflicts:
#	build.gradle
#	spring-integration-core/src/main/java/org/springframework/integration/dsl/ConsumerEndpointSpec.java
#	spring-integration-core/src/main/java/org/springframework/integration/dsl/PollerSpec.java
#	spring-integration-core/src/main/java/org/springframework/integration/transaction/TransactionHandleMessageAdvice.java
#	spring-integration-core/src/main/java/org/springframework/integration/transaction/TransactionInterceptorBuilder.java
This commit is contained in:
Artem Bilan
2020-03-25 12:51:00 -04:00
parent 838abe03de
commit b6bd83d548
26 changed files with 205 additions and 328 deletions

View File

@@ -31,6 +31,7 @@ import org.springframework.integration.transaction.TransactionInterceptorBuilder
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageChannel;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionManager;
import org.springframework.transaction.interceptor.TransactionInterceptor;
import org.springframework.util.Assert;
@@ -193,14 +194,14 @@ public class DelayerEndpointSpec extends ConsumerEndpointSpec<DelayerEndpointSpe
/**
* Specify a {@link TransactionInterceptor} {@link Advice} with the provided
* {@code PlatformTransactionManager} and default
* {@link TransactionManager} and default
* {@link org.springframework.transaction.interceptor.DefaultTransactionAttribute}
* for the {@link org.springframework.messaging.MessageHandler}.
* @param transactionManager the {@link PlatformTransactionManager} to use.
* @param transactionManager the {@link TransactionManager} to use.
* @return the spec.
* @since 5.0.8
* @since 5.2.5
*/
public DelayerEndpointSpec transactionalRelease(PlatformTransactionManager transactionManager) {
public DelayerEndpointSpec transactionalRelease(TransactionManager transactionManager) {
return transactionalRelease(
new TransactionInterceptorBuilder()
.transactionManager(transactionManager)

View File

@@ -54,8 +54,7 @@ public class TransactionHandleMessageAdvice extends TransactionInterceptor imple
public TransactionHandleMessageAdvice(TransactionManager transactionManager,
TransactionAttributeSource transactionAttributeSource) {
setTransactionManager(transactionManager);
setTransactionAttributeSource(transactionAttributeSource);
super(transactionManager, transactionAttributeSource);
}
}

View File

@@ -91,6 +91,11 @@ public class TransactionInterceptorBuilder {
return this;
}
/**
* Provide a {@link TransactionManager} instance to use.
* @param transactionManager the {@link TransactionManager} to use
* @return the builder
*/
public TransactionInterceptorBuilder transactionManager(TransactionManager transactionManager) {
this.transactionInterceptor.setTransactionManager(transactionManager);
return this;

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2016-2019 the original author or authors.
* Copyright 2016-2020 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -26,6 +26,7 @@ import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.TransactionManager;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.interceptor.TransactionAttribute;
@@ -75,7 +76,7 @@ public class TransactionInterceptorBuilderTests {
}
@Bean
public TransactionInterceptor interceptor1(PlatformTransactionManager transactionManager) {
public TransactionInterceptor interceptor1(TransactionManager transactionManager) {
return new TransactionInterceptorBuilder()
.propagation(Propagation.REQUIRES_NEW)
.isolation(Isolation.SERIALIZABLE)