Skip to content

Commit b6bd83d

Browse files
committed
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
1 parent 838abe0 commit b6bd83d

26 files changed

+205
-328
lines changed

spring-integration-core/src/main/java/org/springframework/integration/dsl/DelayerEndpointSpec.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import org.springframework.messaging.Message;
3232
import org.springframework.messaging.MessageChannel;
3333
import org.springframework.transaction.PlatformTransactionManager;
34+
import org.springframework.transaction.TransactionManager;
3435
import org.springframework.transaction.interceptor.TransactionInterceptor;
3536
import org.springframework.util.Assert;
3637

@@ -193,14 +194,14 @@ public DelayerEndpointSpec transactionalRelease(TransactionInterceptor transacti
193194

194195
/**
195196
* Specify a {@link TransactionInterceptor} {@link Advice} with the provided
196-
* {@code PlatformTransactionManager} and default
197+
* {@link TransactionManager} and default
197198
* {@link org.springframework.transaction.interceptor.DefaultTransactionAttribute}
198199
* for the {@link org.springframework.messaging.MessageHandler}.
199-
* @param transactionManager the {@link PlatformTransactionManager} to use.
200+
* @param transactionManager the {@link TransactionManager} to use.
200201
* @return the spec.
201-
* @since 5.0.8
202+
* @since 5.2.5
202203
*/
203-
public DelayerEndpointSpec transactionalRelease(PlatformTransactionManager transactionManager) {
204+
public DelayerEndpointSpec transactionalRelease(TransactionManager transactionManager) {
204205
return transactionalRelease(
205206
new TransactionInterceptorBuilder()
206207
.transactionManager(transactionManager)

spring-integration-core/src/main/java/org/springframework/integration/transaction/TransactionHandleMessageAdvice.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ public TransactionHandleMessageAdvice(TransactionManager transactionManager, Pro
5454
public TransactionHandleMessageAdvice(TransactionManager transactionManager,
5555
TransactionAttributeSource transactionAttributeSource) {
5656

57-
setTransactionManager(transactionManager);
58-
setTransactionAttributeSource(transactionAttributeSource);
57+
super(transactionManager, transactionAttributeSource);
5958
}
6059

6160
}

spring-integration-core/src/main/java/org/springframework/integration/transaction/TransactionInterceptorBuilder.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@ public final TransactionInterceptorBuilder transactionAttribute(TransactionAttri
9191
return this;
9292
}
9393

94+
/**
95+
* Provide a {@link TransactionManager} instance to use.
96+
* @param transactionManager the {@link TransactionManager} to use
97+
* @return the builder
98+
*/
9499
public TransactionInterceptorBuilder transactionManager(TransactionManager transactionManager) {
95100
this.transactionInterceptor.setTransactionManager(transactionManager);
96101
return this;

spring-integration-core/src/test/java/org/springframework/integration/transaction/TransactionInterceptorBuilderTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2016-2019 the original author or authors.
2+
* Copyright 2016-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -26,6 +26,7 @@
2626
import org.springframework.context.annotation.Configuration;
2727
import org.springframework.test.context.junit4.SpringRunner;
2828
import org.springframework.transaction.PlatformTransactionManager;
29+
import org.springframework.transaction.TransactionManager;
2930
import org.springframework.transaction.annotation.Isolation;
3031
import org.springframework.transaction.annotation.Propagation;
3132
import org.springframework.transaction.interceptor.TransactionAttribute;
@@ -75,7 +76,7 @@ public PseudoTransactionManager transactionManager() {
7576
}
7677

7778
@Bean
78-
public TransactionInterceptor interceptor1(PlatformTransactionManager transactionManager) {
79+
public TransactionInterceptor interceptor1(TransactionManager transactionManager) {
7980
return new TransactionInterceptorBuilder()
8081
.propagation(Propagation.REQUIRES_NEW)
8182
.isolation(Isolation.SERIALIZABLE)

spring-integration-jms/src/test/java/org/springframework/integration/jms/ActiveMQMultiContextTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,10 +35,10 @@
3535
*/
3636
public abstract class ActiveMQMultiContextTests {
3737

38-
protected static final ActiveMQConnectionFactory amqFactory =
38+
public static final ActiveMQConnectionFactory amqFactory =
3939
new ActiveMQConnectionFactory("vm://localhost?broker.persistent=false");
4040

41-
protected static final CachingConnectionFactory connectionFactory =
41+
public static final CachingConnectionFactory connectionFactory =
4242
new CachingConnectionFactory(amqFactory);
4343

4444
@BeforeClass

spring-integration-jms/src/test/java/org/springframework/integration/jms/request_reply/PipelineJmsTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2019 the original author or authors.
2+
* Copyright 2002-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.

spring-integration-jms/src/test/java/org/springframework/integration/jms/request_reply/PipelineNamedReplyQueuesJmsTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2002-2019 the original author or authors.
2+
* Copyright 2002-2020 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
Lines changed: 9 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<beans xmlns="http://www.springframework.org/schema/beans"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xmlns:int="http://www.springframework.org/schema/integration"
5-
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
6-
xsi:schemaLocation="http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:int="http://www.springframework.org/schema/integration"
5+
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
6+
xmlns:util="http://www.springframework.org/schema/util"
7+
xsi:schemaLocation="http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
78
http://www.springframework.org/schema/integration/jms https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
8-
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
9+
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
10+
http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">
911

1012
<int:gateway default-request-channel="pipeline01" default-request-timeout="10000" default-reply-timeout="10000"/>
1113

1214
<int-jms:outbound-gateway request-channel="pipeline01"
13-
connection-factory="jmsConnectionFactory"
1415
receive-timeout="10000"
1516
request-destination-name="pipeline01-queue-01">
1617
<int-jms:reply-listener />
1718
</int-jms:outbound-gateway>
1819

1920
<int-jms:inbound-gateway request-channel="jmsIn"
2021
request-destination-name="pipeline01-queue-01"
21-
connection-factory="jmsConnectionFactory"
2222
concurrent-consumers="10"
2323
reply-timeout="10000"/>
2424

@@ -31,30 +31,19 @@
3131
</int:chain>
3232

3333
<int-jms:outbound-gateway request-channel="anotherGatewayChannel"
34-
connection-factory="jmsConnectionFactory"
3534
receive-timeout="10000"
3635
request-destination-name="pipeline01-queue-02">
3736
<int-jms:reply-listener />
3837
</int-jms:outbound-gateway>
3938

4039
<int-jms:inbound-gateway request-channel="anotherIn"
4140
request-destination-name="pipeline01-queue-02"
42-
connection-factory="jmsConnectionFactory"
4341
concurrent-consumers="10"
4442
reply-timeout="10000"/>
4543

4644
<int:transformer input-channel="anotherIn" expression="payload"/>
4745

48-
<bean id="jmsConnectionFactory"
49-
class="org.springframework.jms.connection.CachingConnectionFactory">
50-
<property name="targetConnectionFactory">
51-
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
52-
<property name="brokerURL" value="vm://localhost?broker.persistent=false"/>
53-
</bean>
54-
</property>
55-
<property name="sessionCacheSize" value="10"/>
56-
<property name="cacheProducers" value="true" />
57-
<property name="cacheConsumers" value="true" />
58-
</bean>
46+
<util:constant id="jmsConnectionFactory"
47+
static-field="org.springframework.integration.jms.ActiveMQMultiContextTests.connectionFactory"/>
5948

6049
</beans>

spring-integration-jms/src/test/java/org/springframework/integration/jms/request_reply/pipeline-02.xml

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<beans xmlns="http://www.springframework.org/schema/beans"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xmlns:int="http://www.springframework.org/schema/integration"
5-
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
6-
xsi:schemaLocation="http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:int="http://www.springframework.org/schema/integration"
5+
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
6+
xmlns:util="http://www.springframework.org/schema/util"
7+
xsi:schemaLocation="http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
78
http://www.springframework.org/schema/integration/jms https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
8-
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
9+
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
10+
http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">
911

1012
<int:gateway default-request-channel="pipeline02" default-request-timeout="10000" default-reply-timeout="10000"/>
1113

@@ -46,16 +48,7 @@
4648

4749
<int:transformer input-channel="anotherIn" expression="payload"/>
4850

49-
<bean id="jmsConnectionFactory"
50-
class="org.springframework.jms.connection.CachingConnectionFactory">
51-
<property name="targetConnectionFactory">
52-
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
53-
<property name="brokerURL" value="vm://localhost?broker.persistent=false"/>
54-
</bean>
55-
</property>
56-
<property name="sessionCacheSize" value="10"/>
57-
<property name="cacheProducers" value="true" />
58-
<property name="cacheConsumers" value="true" />
59-
</bean>
51+
<util:constant id="jmsConnectionFactory"
52+
static-field="org.springframework.integration.jms.ActiveMQMultiContextTests.connectionFactory"/>
6053

6154
</beans>

spring-integration-jms/src/test/java/org/springframework/integration/jms/request_reply/pipeline-03.xml

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<beans xmlns="http://www.springframework.org/schema/beans"
3-
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4-
xmlns:int="http://www.springframework.org/schema/integration"
5-
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
6-
xsi:schemaLocation="http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4+
xmlns:int="http://www.springframework.org/schema/integration"
5+
xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
6+
xmlns:util="http://www.springframework.org/schema/util"
7+
xsi:schemaLocation="http://www.springframework.org/schema/integration https://www.springframework.org/schema/integration/spring-integration.xsd
78
http://www.springframework.org/schema/integration/jms https://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
8-
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
9+
http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd
10+
http://www.springframework.org/schema/util https://www.springframework.org/schema/util/spring-util.xsd">
911

1012
<int:gateway default-request-channel="pipeline03" default-request-timeout="10000" default-reply-timeout="10000"/>
1113

@@ -47,16 +49,7 @@
4749

4850
<int:transformer input-channel="anotherIn" expression="payload"/>
4951

50-
<bean id="jmsConnectionFactory"
51-
class="org.springframework.jms.connection.CachingConnectionFactory">
52-
<property name="targetConnectionFactory">
53-
<bean class="org.apache.activemq.ActiveMQConnectionFactory">
54-
<property name="brokerURL" value="vm://localhost?broker.persistent=false"/>
55-
</bean>
56-
</property>
57-
<property name="sessionCacheSize" value="10"/>
58-
<property name="cacheProducers" value="true" />
59-
<property name="cacheConsumers" value="true" />
60-
</bean>
52+
<util:constant id="jmsConnectionFactory"
53+
static-field="org.springframework.integration.jms.ActiveMQMultiContextTests.connectionFactory"/>
6154

6255
</beans>

0 commit comments

Comments
 (0)