Skip to content

Commit e032d10

Browse files
camel-spring-rabbitmq: Fix configuration of consumer retry settings
1 parent 5367a28 commit e032d10

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

components/camel-spring-parent/camel-spring-rabbitmq/src/main/java/org/apache/camel/component/springrabbit/DefaultListenerContainerFactory.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
*/
1717
package org.apache.camel.component.springrabbit;
1818

19+
import java.time.Duration;
20+
1921
import org.springframework.amqp.core.AmqpAdmin;
2022
import org.springframework.amqp.rabbit.config.RetryInterceptorBuilder;
2123
import org.springframework.amqp.rabbit.core.RabbitAdmin;
@@ -69,17 +71,22 @@ public AbstractMessageListenerContainer createListenerContainer(SpringRabbitMQEn
6971
listener.setAdviceChain(endpoint.getRetry());
7072
} else {
7173
RetryInterceptorBuilder<?, ?> builder = RetryInterceptorBuilder.stateless();
74+
RetryPolicy.Builder retryPolicyBuilder = RetryPolicy.builder();
75+
7276
if (endpoint.getMaximumRetryAttempts() <= 0) {
73-
builder.retryPolicy(RetryPolicy.withMaxRetries(0));
77+
retryPolicyBuilder.maxRetries(0);
7478
} else if (endpoint.getMaximumRetryAttempts() > 0) {
75-
builder.retryPolicy(RetryPolicy.withMaxRetries(endpoint.getMaximumRetryAttempts()));
79+
retryPolicyBuilder.maxRetries(endpoint.getMaximumRetryAttempts());
7680
}
7781
if (endpoint.getRetryDelay() > 0) {
78-
builder.backOffOptions(endpoint.getRetryDelay(), 1, endpoint.getRetryDelay());
82+
retryPolicyBuilder.delay(Duration.ofMillis(endpoint.getRetryDelay()));
83+
retryPolicyBuilder.multiplier(1);
84+
retryPolicyBuilder.maxDelay(Duration.ofMillis(endpoint.getRetryDelay()));
7985
}
8086
if (endpoint.isRejectAndDontRequeue()) {
8187
builder.recoverer(new RejectAndDontRequeueRecoverer());
8288
}
89+
builder.retryPolicy(retryPolicyBuilder.build());
8390
listener.setAdviceChain(builder.build());
8491
}
8592

0 commit comments

Comments
 (0)