This is an automated email from the ASF dual-hosted git repository.
apupier pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new b0900b082730 CAMEL-24929: camel-core - Fix the delay pattern example
in the RedeliveryPolicy javadoc
b0900b082730 is described below
commit b0900b08273043b49c7ce6628edddebef13969b0
Author: smjain <[email protected]>
AuthorDate: Wed Sep 23 17:09:37 2026 +0530
CAMEL-24929: camel-core - Fix the delay pattern example in the
RedeliveryPolicy javadoc
The example used "5:1000;10:5000:20:20000", with a colon where a semicolon
separates the groups. Used as is, it fails with a NumberFormatException at
the fifth redelivery. The dead letter channel docs already have the correct
"5:1000;10:5000;20:20000". Also add a test for the example.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
---
.../camel/processor/errorhandler/RedeliveryPolicy.java | 2 +-
.../camel/processor/RedeliveryPolicyDelayPatternTest.java | 15 +++++++++++++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java
index 327363103a51..ffb3605f4375 100644
---
a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java
+++
b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java
@@ -74,7 +74,7 @@ import org.slf4j.LoggerFactory;
* <b>Using delay pattern</b>: <br/>
* The delay pattern syntax is: <tt>limit:delay;limit 2:delay 2;limit 3:delay
3;...;limit N:delay N</tt>.
* <p/>
- * How it works is best illustrate with an example with this pattern:
<tt>delayPattern=5:1000;10:5000:20:20000</tt>
+ * How it works is best illustrate with an example with this pattern:
<tt>delayPattern=5:1000;10:5000;20:20000</tt>
* <br/>
* The delays will be for attempt in range 0..4 = 0 millis, 5..9 = 1000
millis, 10..19 = 5000 millis, >= 20 = 20000
* millis.
diff --git
a/core/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyDelayPatternTest.java
b/core/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyDelayPatternTest.java
index 84ef6da2a7c1..6a9fc52faa78 100644
---
a/core/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyDelayPatternTest.java
+++
b/core/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyDelayPatternTest.java
@@ -50,4 +50,19 @@ public class RedeliveryPolicyDelayPatternTest {
assertEquals(10000, policy.calculateRedeliveryDelay(0, 50));
assertEquals(10000, policy.calculateRedeliveryDelay(0, 100));
}
+
+ @Test
+ public void testDelayPatternJavadocExample() {
+ // the example in the javadoc of RedeliveryPolicy
+ policy.setDelayPattern("5:1000;10:5000;20:20000");
+
+ assertEquals(0, policy.calculateRedeliveryDelay(0, 0));
+ assertEquals(0, policy.calculateRedeliveryDelay(0, 4));
+ assertEquals(1000, policy.calculateRedeliveryDelay(0, 5));
+ assertEquals(1000, policy.calculateRedeliveryDelay(0, 9));
+ assertEquals(5000, policy.calculateRedeliveryDelay(0, 10));
+ assertEquals(5000, policy.calculateRedeliveryDelay(0, 19));
+ assertEquals(20000, policy.calculateRedeliveryDelay(0, 20));
+ assertEquals(20000, policy.calculateRedeliveryDelay(0, 100));
+ }
}