This is an automated email from the ASF dual-hosted git repository.

christophd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2907675a4288579217948cf93f7e4c2d76f4a909
Author: Christoph Deppisch <[email protected]>
AuthorDate: Thu Oct 15 19:56:58 2026 +0200

    CAMEL-25378: Bump parent to 4.24.0-SNAPSHOT and clarify redelivery doc
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 bom/camel-bom/pom.xml                                      |  2 +-
 .../org/apache/camel/catalog/components/citrus.json        |  2 +-
 .../org/apache/camel/catalog/docs/citrus-component.adoc    | 14 +++++++++++++-
 components/camel-test/camel-test-citrus/pom.xml            |  2 +-
 .../META-INF/org/apache/camel/component/citrus/citrus.json |  2 +-
 .../services/org/apache/camel/component.properties         |  2 +-
 .../camel-test-citrus/src/main/docs/citrus-component.adoc  |  4 +++-
 7 files changed, 21 insertions(+), 7 deletions(-)

diff --git a/bom/camel-bom/pom.xml b/bom/camel-bom/pom.xml
index 369a1040e16d..72312b9de073 100644
--- a/bom/camel-bom/pom.xml
+++ b/bom/camel-bom/pom.xml
@@ -2455,7 +2455,7 @@
       <dependency>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-test-citrus</artifactId>
-        <version>4.23.0-SNAPSHOT</version>
+        <version>4.24.0-SNAPSHOT</version>
       </dependency>
       <dependency>
         <groupId>org.apache.camel</groupId>
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/citrus.json
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/citrus.json
index 058471240c86..b068b5b4b76a 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/citrus.json
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/components/citrus.json
@@ -11,7 +11,7 @@
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
     "artifactId": "camel-test-citrus",
-    "version": "4.23.0-SNAPSHOT",
+    "version": "4.24.0-SNAPSHOT",
     "scheme": "citrus",
     "extendsScheme": "",
     "syntax": "citrus:operation\/name",
diff --git 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/citrus-component.adoc
 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/citrus-component.adoc
index 3b223533a49f..91b9b9254e03 100644
--- 
a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/citrus-component.adoc
+++ 
b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/docs/citrus-component.adoc
@@ -39,8 +39,10 @@ citrus:operation/name[?options]
 Where `operation` is `validate` or `receive`, and `name` is an optional 
identifier to distinguish
 multiple Citrus endpoints in the same route.
 
-* `validate` — validates exchanges without modifying them (pass-through 
validation).
+* `validate` — validates exchanges without modifying them (pass-through 
validation). Validation
+  failures are collected silently and only surface when `assertIsSatisfied()` 
is called.
 * `receive` — validates exchanges and returns a simulated response 
(request/response simulation).
+  Validation failures remain on the exchange and trigger Camel's `onException` 
handlers.
 
 // component options: START
 include::partial$component-configure-options.adoc[]
@@ -53,6 +55,10 @@ include::partial$component-endpoint-headers.adoc[]
 The Citrus endpoint acts as a producer-only endpoint. Routes send exchanges 
*to* `citrus:validate`,
 and the component validates each exchange using Citrus message validation.
 
+NOTE: Spec setup (`validate()`, `validateAll()`, `when().receive()`) must 
complete before exchanges
+start arriving. For async consumers (SEDA, timer-based routes), ensure all 
validation chains are
+fully configured before starting the `CamelContext`.
+
 === Validation modules
 
 The component does not bundle Citrus validation modules. You must add the 
required validation
@@ -394,6 +400,12 @@ The two operations handle validation failures differently 
with respect to Camel'
   `onException` handlers and redelivery policies *do* trigger, which matches 
the expected
   behavior for a request/response endpoint where callers need to see errors.
 
+NOTE: Each redelivery attempt counts as a new exchange in the mock counter. So 
if a
+`receive(1)` spec fails and Camel redelivers, the retry is exchange 2 and
+`receive(2)` applies to it — not `receive(1)` again. If no spec exists for the 
retry, it
+passes without validation and the earlier failure is not recorded, so set
+`expectedMessageCount(...)` to catch the extra exchange.
+
 === Exchange properties and variables as Citrus variables
 
 All exchange properties and exchange variables are automatically propagated to 
the Citrus test
diff --git a/components/camel-test/camel-test-citrus/pom.xml 
b/components/camel-test/camel-test-citrus/pom.xml
index 278ed3139486..3a61ebdd4565 100644
--- a/components/camel-test/camel-test-citrus/pom.xml
+++ b/components/camel-test/camel-test-citrus/pom.xml
@@ -23,7 +23,7 @@
     <parent>
         <groupId>org.apache.camel</groupId>
         <artifactId>camel-test-parent</artifactId>
-        <version>4.23.0-SNAPSHOT</version>
+        <version>4.24.0-SNAPSHOT</version>
     </parent>
 
     <artifactId>camel-test-citrus</artifactId>
diff --git 
a/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/org/apache/camel/component/citrus/citrus.json
 
b/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/org/apache/camel/component/citrus/citrus.json
index 058471240c86..b068b5b4b76a 100644
--- 
a/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/org/apache/camel/component/citrus/citrus.json
+++ 
b/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/org/apache/camel/component/citrus/citrus.json
@@ -11,7 +11,7 @@
     "supportLevel": "Preview",
     "groupId": "org.apache.camel",
     "artifactId": "camel-test-citrus",
-    "version": "4.23.0-SNAPSHOT",
+    "version": "4.24.0-SNAPSHOT",
     "scheme": "citrus",
     "extendsScheme": "",
     "syntax": "citrus:operation\/name",
diff --git 
a/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/services/org/apache/camel/component.properties
 
b/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/services/org/apache/camel/component.properties
index 2ecb2a503903..ecc06c05f86d 100644
--- 
a/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/services/org/apache/camel/component.properties
+++ 
b/components/camel-test/camel-test-citrus/src/generated/resources/META-INF/services/org/apache/camel/component.properties
@@ -2,6 +2,6 @@
 components=citrus
 groupId=org.apache.camel
 artifactId=camel-test-citrus
-version=4.23.0-SNAPSHOT
+version=4.24.0-SNAPSHOT
 projectName=Camel :: Test :: Citrus
 projectDescription=Citrus message validation component for testing
diff --git 
a/components/camel-test/camel-test-citrus/src/main/docs/citrus-component.adoc 
b/components/camel-test/camel-test-citrus/src/main/docs/citrus-component.adoc
index f004bb3dcff8..91b9b9254e03 100644
--- 
a/components/camel-test/camel-test-citrus/src/main/docs/citrus-component.adoc
+++ 
b/components/camel-test/camel-test-citrus/src/main/docs/citrus-component.adoc
@@ -402,7 +402,9 @@ The two operations handle validation failures differently 
with respect to Camel'
 
 NOTE: Each redelivery attempt counts as a new exchange in the mock counter. So 
if a
 `receive(1)` spec fails and Camel redelivers, the retry is exchange 2 and
-`receive(2)` applies to it — not `receive(1)` again.
+`receive(2)` applies to it — not `receive(1)` again. If no spec exists for the 
retry, it
+passes without validation and the earlier failure is not recorded, so set
+`expectedMessageCount(...)` to catch the extra exchange.
 
 === Exchange properties and variables as Citrus variables
 

Reply via email to