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));
+    }
 }

Reply via email to