Skip to content

Commit b821fa1

Browse files
committed
Fixes according to the latest Retry changes in SF
1 parent 6607963 commit b821fa1

File tree

17 files changed

+42
-42
lines changed

17 files changed

+42
-42
lines changed

build.gradle

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -705,9 +705,7 @@ project('spring-integration-jms') {
705705
api 'org.springframework:spring-jms'
706706
provided "jakarta.jms:jakarta.jms-api:$jmsApiVersion"
707707

708-
testImplementation("org.apache.activemq:artemis-server:$artemisVersion") {
709-
exclude group: 'org.jboss.logmanager'
710-
}
708+
testImplementation "org.apache.activemq:artemis-server:$artemisVersion"
711709
testImplementation "org.apache.activemq:artemis-jakarta-client:$artemisVersion"
712710
testImplementation 'org.springframework:spring-oxm'
713711
testImplementation 'tools.jackson.core:jackson-databind'

spring-integration-amqp/src/test/java/org/springframework/integration/amqp/inbound/InboundEndpointTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ public void testRetryWithinOnMessageAdapter() throws Exception {
350350
AbstractMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
351351
AmqpInboundChannelAdapter adapter = new AmqpInboundChannelAdapter(container);
352352
adapter.setOutputChannel(new DirectChannel());
353-
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO).build()));
353+
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO).build()));
354354
QueueChannel errors = new QueueChannel();
355355
ErrorMessageSendingRecoverer recoveryCallback = new ErrorMessageSendingRecoverer(errors);
356356
recoveryCallback.setErrorMessageStrategy(new AmqpMessageHeaderErrorMessageStrategy());
@@ -380,7 +380,7 @@ public void testRetryWithMessageRecovererOnMessageAdapter() throws Exception {
380380
AbstractMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
381381
AmqpInboundChannelAdapter adapter = new AmqpInboundChannelAdapter(container);
382382
adapter.setOutputChannel(new DirectChannel());
383-
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO).build()));
383+
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO).build()));
384384
AtomicReference<org.springframework.amqp.core.Message> recoveredMessage = new AtomicReference<>();
385385
AtomicReference<Throwable> recoveredError = new AtomicReference<>();
386386
CountDownLatch recoveredLatch = new CountDownLatch(1);
@@ -416,7 +416,7 @@ public void testRetryWithinOnMessageGateway() throws Exception {
416416
AbstractMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
417417
AmqpInboundGateway adapter = new AmqpInboundGateway(container);
418418
adapter.setRequestChannel(new DirectChannel());
419-
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO).build()));
419+
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO).build()));
420420
QueueChannel errors = new QueueChannel();
421421
ErrorMessageSendingRecoverer recoveryCallback = new ErrorMessageSendingRecoverer(errors);
422422
recoveryCallback.setErrorMessageStrategy(new AmqpMessageHeaderErrorMessageStrategy());
@@ -451,7 +451,7 @@ public void testRetryWithMessageRecovererOnMessageGateway() throws Exception {
451451
AbstractMessageListenerContainer container = new SimpleMessageListenerContainer(connectionFactory);
452452
AmqpInboundGateway adapter = new AmqpInboundGateway(container);
453453
adapter.setRequestChannel(new DirectChannel());
454-
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO).build()));
454+
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO).build()));
455455
AtomicReference<org.springframework.amqp.core.Message> recoveredMessage = new AtomicReference<>();
456456
AtomicReference<Throwable> recoveredError = new AtomicReference<>();
457457
CountDownLatch recoveredLatch = new CountDownLatch(1);
@@ -736,7 +736,7 @@ public void testRetryWithinOnMessageAdapterConsumerBatch() {
736736
container.setConsumerBatchEnabled(true);
737737
AmqpInboundChannelAdapter adapter = new AmqpInboundChannelAdapter(container);
738738
adapter.setOutputChannel(new DirectChannel());
739-
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO).build()));
739+
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO).build()));
740740
QueueChannel errors = new QueueChannel();
741741
ErrorMessageSendingRecoverer recoveryCallback = new ErrorMessageSendingRecoverer(errors);
742742
adapter.setBeanFactory(TEST_INTEGRATION_CONTEXT);
@@ -784,7 +784,7 @@ public void testRetryWithMessageRecovererOnMessageAdapterConsumerBatch() throws
784784
container.setConsumerBatchEnabled(true);
785785
AmqpInboundChannelAdapter adapter = new AmqpInboundChannelAdapter(container);
786786
adapter.setOutputChannel(new DirectChannel());
787-
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO).build()));
787+
adapter.setRetryTemplate(new RetryTemplate(RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO).build()));
788788
AtomicReference<List<org.springframework.amqp.core.Message>> recoveredMessages = new AtomicReference<>();
789789
AtomicReference<Throwable> recoveredError = new AtomicReference<>();
790790
CountDownLatch recoveredLatch = new CountDownLatch(1);

spring-integration-core/src/main/java/org/springframework/integration/config/xml/RetryAdviceParser.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,25 +44,25 @@ public class RetryAdviceParser extends AbstractBeanDefinitionParser {
4444
protected AbstractBeanDefinition parseInternal(Element element, ParserContext parserContext) {
4545
BeanDefinitionBuilder builder = BeanDefinitionBuilder.genericBeanDefinition(RequestHandlerRetryAdvice.class);
4646

47-
String maxAttempts = element.getAttribute("max-attempts");
47+
String maxRetries = element.getAttribute("max-retries");
4848

4949
// Default to 3 attempts and no delay in between.
5050
BeanDefinitionBuilder backOffBuilder =
5151
BeanDefinitionBuilder.genericBeanDefinition(FixedBackOff.class)
5252
.addConstructorArgValue(0)
53-
.addConstructorArgValue(maxAttempts);
53+
.addConstructorArgValue(maxRetries);
5454

5555
Element backOffPolicyEle = DomUtils.getChildElementByTagName(element, "fixed-back-off");
5656
if (backOffPolicyEle != null) {
5757
backOffBuilder = BeanDefinitionBuilder.genericBeanDefinition(FixedBackOff.class)
5858
.addConstructorArgValue(backOffPolicyEle.getAttribute("interval"))
59-
.addConstructorArgValue(maxAttempts);
59+
.addConstructorArgValue(maxRetries);
6060
}
6161
else {
6262
backOffPolicyEle = DomUtils.getChildElementByTagName(element, "exponential-back-off");
6363
if (backOffPolicyEle != null) {
6464
backOffBuilder = BeanDefinitionBuilder.genericBeanDefinition(ExponentialBackOff.class)
65-
.addPropertyValue("maxAttempts", maxAttempts)
65+
.addPropertyValue("maxAttempts", maxRetries)
6666
.addPropertyValue("multiplier", backOffPolicyEle.getAttribute("multiplier"))
6767
.addPropertyValue("initialInterval", backOffPolicyEle.getAttribute("initial"))
6868
.addPropertyValue("maxInterval", backOffPolicyEle.getAttribute("maximum"))

spring-integration-core/src/main/resources/org/springframework/integration/config/spring-integration.xsd

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4992,7 +4992,7 @@ The list of component name patterns you want to track (e.g., tracked-components
49924992
<xsd:complexType name="retryAdviceType">
49934993
<xsd:annotation>
49944994
<xsd:documentation><![CDATA[
4995-
A convenient way of defining a MessageHandlerRetryAdvice. Uses a SimpleRetryPolicy
4995+
A convenient way of defining a MessageHandlerRetryAdvice. Uses a RetryPolicy
49964996
and an optional Exponential or Fixed BackOffPolicy. Default is no back off.
49974997
]]></xsd:documentation>
49984998
</xsd:annotation>
@@ -5059,19 +5059,19 @@ The list of component name patterns you want to track (e.g., tracked-components
50595059
</xsd:complexType>
50605060
</xsd:element>
50615061
</xsd:choice>
5062-
<xsd:attribute name="max-attempts" type="xsd:string" default="3">
5062+
<xsd:attribute name="max-retries" type="xsd:string" default="3">
50635063
<xsd:annotation>
50645064
<xsd:documentation><![CDATA[
5065-
The maximum number of attempts to invoke the handler.
5065+
The maximum number of retries to invoke a failing handler.
50665066
Default 3.
50675067
]]></xsd:documentation>
50685068
</xsd:annotation>
50695069
</xsd:attribute>
50705070
<xsd:attribute name="recovery-channel" type="xsd:string">
50715071
<xsd:annotation>
50725072
<xsd:documentation><![CDATA[
5073-
A MessageChannel to receive the message after retries are exhausted. Default
5074-
is to not recover and throw the exception.
5073+
A MessageChannel to receive the message after retries are exhausted.
5074+
The default is to not recover and throw the exception.
50755075
]]></xsd:documentation>
50765076
</xsd:annotation>
50775077
</xsd:attribute>

spring-integration-core/src/test/java/org/springframework/integration/config/xml/RetryAdviceParserTests-context.xml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,21 @@
77

88
<int:handler-retry-advice id="a1" />
99

10-
<int:handler-retry-advice id="a2" max-attempts="4" />
10+
<int:handler-retry-advice id="a2" max-retries="4" />
1111

12-
<int:handler-retry-advice id="a3" max-attempts="5">
12+
<int:handler-retry-advice id="a3" max-retries="5">
1313
<int:fixed-back-off />
1414
</int:handler-retry-advice>
1515

16-
<int:handler-retry-advice id="a4" max-attempts="6">
16+
<int:handler-retry-advice id="a4" max-retries="6">
1717
<int:fixed-back-off interval="1234" />
1818
</int:handler-retry-advice>
1919

20-
<int:handler-retry-advice id="a5" max-attempts="7">
20+
<int:handler-retry-advice id="a5" max-retries="7">
2121
<int:exponential-back-off />
2222
</int:handler-retry-advice>
2323

24-
<int:handler-retry-advice id="a6" max-attempts="8">
24+
<int:handler-retry-advice id="a6" max-retries="8">
2525
<int:exponential-back-off initial="1000" multiplier="3.0" maximum="10000" jitter="6"/>
2626
</int:handler-retry-advice>
2727

@@ -37,7 +37,7 @@
3737

3838
<int:service-activator id="sa2" input-channel="foo" expression="'foo'">
3939
<int:request-handler-advice-chain>
40-
<int:retry-advice max-attempts="9" />
40+
<int:retry-advice max-retries="9" />
4141
</int:request-handler-advice-chain>
4242
</int:service-activator>
4343

spring-integration-core/src/test/java/org/springframework/integration/dsl/flows/IntegrationFlowTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -919,7 +919,7 @@ public RequestHandlerRetryAdvice retryAdvice() {
919919
requestHandlerRetryAdvice.setRecoveryCallback(new ErrorMessageSendingRecoverer(recoveryChannel()));
920920
RetryPolicy retryPolicy =
921921
RetryPolicy.builder()
922-
.maxAttempts(2)
922+
.maxRetries(2)
923923
.delay(Duration.ZERO)
924924
.build();
925925
requestHandlerRetryAdvice.setRetryPolicy(retryPolicy);

spring-integration-core/src/test/java/org/springframework/integration/handler/advice/AdvisedMessageHandlerTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -932,7 +932,7 @@ protected Object handleRequestMessage(Message<?> requestMessage) {
932932
QueueChannel replies = new QueueChannel();
933933
handler.setOutputChannel(replies);
934934
RequestHandlerRetryAdvice advice = new RequestHandlerRetryAdvice();
935-
RetryPolicy.Builder retryPolicyBuilder = RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO);
935+
RetryPolicy.Builder retryPolicyBuilder = RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO);
936936
if (retryForMyException) {
937937
retryPolicyBuilder.includes(MessagingException.class);
938938
}

spring-integration-jdbc/src/main/java/org/springframework/integration/jdbc/channel/PostgresSubscribableChannel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public class PostgresSubscribableChannel extends AbstractSubscribableChannel
7878
private @Nullable TransactionTemplate transactionTemplate;
7979

8080
private RetryTemplate retryTemplate =
81-
new RetryTemplate(RetryPolicy.builder().maxAttempts(1).delay(Duration.ZERO).build());
81+
new RetryTemplate(RetryPolicy.builder().maxRetries(1).delay(Duration.ZERO).build());
8282

8383
private ErrorHandler errorHandler = ReflectionUtils::rethrowRuntimeException;
8484

spring-integration-jdbc/src/test/java/org/springframework/integration/jdbc/postgres/PostgresChannelMessageTableSubscriberTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -254,9 +254,9 @@ void testRetryOnErrorDuringDispatch(boolean transactionsEnabled) throws Interrup
254254
List<Object> payloads = new ArrayList<>();
255255
AtomicInteger actualTries = new AtomicInteger();
256256

257-
int maxAttempts = 2;
257+
int maxRetries = 2;
258258
postgresSubscribableChannel.setRetryTemplate(
259-
new RetryTemplate(RetryPolicy.builder().maxAttempts(maxAttempts).delay(Duration.ZERO).build()));
259+
new RetryTemplate(RetryPolicy.builder().maxRetries(maxRetries).delay(Duration.ZERO).build()));
260260

261261
if (transactionsEnabled) {
262262
postgresSubscribableChannel.setTransactionManager(transactionManager);
@@ -281,7 +281,7 @@ void testRetryOnErrorDuringDispatch(boolean transactionsEnabled) throws Interrup
281281

282282
assertThat(latch.await(10, TimeUnit.SECONDS)).isTrue();
283283

284-
assertThat(actualTries.get()).isEqualTo(maxAttempts);
284+
assertThat(actualTries.get()).isEqualTo(maxRetries);
285285
assertThat(payloads).containsExactly("1");
286286
}
287287

spring-integration-jms/src/test/java/org/springframework/integration/jms/dsl/JmsTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -465,7 +465,7 @@ public IntegrationFlow jmsMessageDrivenFlowWithContainer() {
465465
.taskExecutor(Executors.newCachedThreadPool()))
466466
.id("observedJmsMessageDrivenChannelAdapter")
467467
.retryTemplate(new RetryTemplate(
468-
RetryPolicy.builder().maxAttempts(2).delay(Duration.ZERO).build())))
468+
RetryPolicy.builder().maxRetries(2).delay(Duration.ZERO).build())))
469469
.handle((p, h) -> {
470470
if (h.get(IntegrationMessageHeaderAccessor.DELIVERY_ATTEMPT, AtomicInteger.class).get() < 3) {
471471
throw new RuntimeException("intentional for retry");

0 commit comments

Comments
 (0)