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;