You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2024/02/21 05:52:15 UTC

(camel) branch main updated: Add exchange properties to EIP docs

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

davsclaus 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 74b044d106e Add exchange properties to EIP docs
74b044d106e is described below

commit 74b044d106e207a662e2d2ac732e894c33b75071
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Feb 21 06:51:31 2024 +0100

    Add exchange properties to EIP docs
---
 .../docs/modules/eips/pages/aggregate-eip.adoc     | 22 ++++++----------------
 .../docs/modules/eips/pages/batchConfig-eip.adoc   |  6 ++++++
 .../src/main/docs/modules/eips/pages/bean-eip.adoc |  6 ++++++
 .../main/docs/modules/eips/pages/choice-eip.adoc   |  7 +++++++
 .../modules/eips/pages/circuitBreaker-eip.adoc     |  6 ++++++
 .../docs/modules/eips/pages/claimCheck-eip.adoc    |  5 +++++
 .../docs/modules/eips/pages/convertBodyTo-eip.adoc |  8 +++++++-
 .../modules/eips/pages/convertHeaderTo-eip.adoc    |  8 +++++++-
 .../modules/eips/pages/convertVariableTo-eip.adoc  |  8 +++++++-
 .../modules/eips/pages/customLoadBalancer-eip.adoc |  6 ++++++
 .../main/docs/modules/eips/pages/delay-eip.adoc    |  6 ++++++
 .../docs/modules/eips/pages/dynamicRouter-eip.adoc |  6 ++++++
 .../main/docs/modules/eips/pages/enrich-eip.adoc   |  5 +++++
 .../main/docs/modules/eips/pages/failover-eip.adoc |  6 ++++++
 .../modules/eips/pages/fault-tolerance-eip.adoc    |  6 ++++++
 .../pages/faultToleranceConfiguration-eip.adoc     |  6 ++++++
 .../main/docs/modules/eips/pages/filter-eip.adoc   |  6 ++++++
 .../src/main/docs/modules/eips/pages/from-eip.adoc |  6 ++++++
 .../modules/eips/pages/idempotentConsumer-eip.adoc |  6 ++++++
 .../main/docs/modules/eips/pages/kamelet-eip.adoc  |  6 ++++++
 .../src/main/docs/modules/eips/pages/log-eip.adoc  |  6 ++++++
 .../src/main/docs/modules/eips/pages/loop-eip.adoc | 12 +++---------
 .../docs/modules/eips/pages/multicast-eip.adoc     | 11 +++--------
 .../docs/modules/eips/pages/onFallback-eip.adoc    |  6 ++++++
 .../main/docs/modules/eips/pages/pipeline-eip.adoc |  6 ++++++
 .../docs/modules/eips/pages/pollEnrich-eip.adoc    |  6 ++++++
 .../main/docs/modules/eips/pages/random-eip.adoc   |  6 ++++++
 .../docs/modules/eips/pages/recipientList-eip.adoc | 11 +++--------
 .../docs/modules/eips/pages/removeHeader-eip.adoc  |  6 ++++++
 .../docs/modules/eips/pages/removeHeaders-eip.adoc |  6 ++++++
 .../modules/eips/pages/removeProperties-eip.adoc   |  8 +++++++-
 .../modules/eips/pages/removeProperty-eip.adoc     |  6 ++++++
 .../modules/eips/pages/removeVariable-eip.adoc     |  6 ++++++
 .../docs/modules/eips/pages/resequence-eip.adoc    | 18 ++++++++++++------
 .../docs/modules/eips/pages/resilience4j-eip.adoc  |  8 +++++++-
 .../eips/pages/resilience4jConfiguration-eip.adoc  |  6 ++++++
 .../main/docs/modules/eips/pages/rollback-eip.adoc |  6 ++++++
 .../docs/modules/eips/pages/roundRobin-eip.adoc    |  6 ++++++
 .../docs/modules/eips/pages/routingSlip-eip.adoc   | 13 ++++---------
 .../src/main/docs/modules/eips/pages/saga-eip.adoc |  8 +++++++-
 .../main/docs/modules/eips/pages/sample-eip.adoc   |  7 +++++++
 .../main/docs/modules/eips/pages/script-eip.adoc   |  6 ++++++
 .../docs/modules/eips/pages/serviceCall-eip.adoc   |  6 ++++++
 .../main/docs/modules/eips/pages/setBody-eip.adoc  | 10 +++++++---
 .../docs/modules/eips/pages/setHeader-eip.adoc     |  6 ++++++
 .../docs/modules/eips/pages/setHeaders-eip.adoc    |  7 +++++++
 .../docs/modules/eips/pages/setProperty-eip.adoc   |  6 ++++++
 .../docs/modules/eips/pages/setVariable-eip.adoc   |  8 ++++++++
 .../src/main/docs/modules/eips/pages/sort-eip.adoc |  7 +++++++
 .../main/docs/modules/eips/pages/split-eip.adoc    | 13 +++----------
 .../src/main/docs/modules/eips/pages/step-eip.adoc |  7 +++++++
 .../main/docs/modules/eips/pages/sticky-eip.adoc   |  6 ++++++
 .../src/main/docs/modules/eips/pages/stop-eip.adoc |  6 ++++++
 .../docs/modules/eips/pages/streamConfig-eip.adoc  |  6 ++++++
 .../main/docs/modules/eips/pages/threads-eip.adoc  |  6 ++++++
 .../main/docs/modules/eips/pages/throttle-eip.adoc |  6 ++++++
 .../src/main/docs/modules/eips/pages/to-eip.adoc   |  8 +++++++-
 .../src/main/docs/modules/eips/pages/toD-eip.adoc  |  8 +++++++-
 .../main/docs/modules/eips/pages/topic-eip.adoc    |  7 +++++++
 .../docs/modules/eips/pages/transform-eip.adoc     | 10 ++++++++--
 .../main/docs/modules/eips/pages/validate-eip.adoc |  8 +++++++-
 .../main/docs/modules/eips/pages/weighted-eip.adoc |  6 ++++++
 .../main/docs/modules/eips/pages/wireTap-eip.adoc  |  6 ++++++
 63 files changed, 388 insertions(+), 80 deletions(-)

diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc
index 18c271d808a..7188c5d3929 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/aggregate-eip.adoc
@@ -28,6 +28,12 @@ Messages with the same correlation key is aggregated together, using an `Aggrega
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Worker pools
 
 The aggregate EIP will always use a worker pool, that is used to process all the outgoing messages from the aggregator.
@@ -101,22 +107,6 @@ class ArrayListAggregationStrategy implements AggregationStrategy {
 TIP: The `org.apache.camel.builder.AggregationStrategies` is a builder that can
 be used for creating commonly used aggregation strategies without having to create a class.
 
-=== Exchange Properties
-
-The completed (outgoing) exchange from the Aggregate EIP contains the following information
-as exchange properties, allowing you to know how the exchange was completed, and how
-many messages were combined.
-
-[width="100%",cols="3,1m,6",options="header"]
-|=======================================================================
-| Property | Type | Description
-| `CamelAggregatedSize` | `int` | The total number of messages aggregated.
-| `CamelAggregatedCompletedBy` | `String` | The condition that triggered the completion. Possible values are size, timeout, interval, predicate, force, strategy, and consumer. The consumer value represents the completion from batch consumer.
-| `CamelAggregatedCorrelationKey` | `String` | The correlation identifier as a `String`.
-| `CamelAggregatedTimeout` | `long` | The time-out in milliseconds as set by the completion time-out.
-|=======================================================================
-
-
 === Aggregate by grouping exchanges
 
 In the route below we group all the exchanges together using
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/batchConfig-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/batchConfig-eip.adoc
index c4b3b785461..9417c3db135 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/batchConfig-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/batchConfig-eip.adoc
@@ -10,3 +10,9 @@ Configuring for xref:resequence-eip.adoc[Resequence EIP] in batching mode.
 // eip options: START
 include::partial$eip-options.adoc[]
 // eip options: END
+
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc
index 709ed3d2acb..be27c309b41 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/bean-eip.adoc
@@ -28,6 +28,12 @@ the xref:manual::registry.adoc[Registry].
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 === Bean scope
 
 When using `singleton` scope (default) the bean is created or looked up only once and reused for the lifetime of the endpoint.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
index 54cde2045db..825a7bbc2f2 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
@@ -1,3 +1,4 @@
+
 = Choice EIP
 :doctitle: Choice
 :shortname: choice
@@ -20,6 +21,12 @@ image::eip/ContentBasedRouter.gif[image]
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 The Camel xref:languages:simple-language.adoc[Simple] language
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc
index d63abee4510..b37c8da4102 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/circuitBreaker-eip.adoc
@@ -28,6 +28,12 @@ The states are as follows:
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 Below is an example route showing a circuit breaker endpoint that protects against
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/claimCheck-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/claimCheck-eip.adoc
index 5111acb1836..2895645a36c 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/claimCheck-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/claimCheck-eip.adoc
@@ -22,6 +22,11 @@ The Camel implementation of this EIP pattern stores the message content temporar
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
 == Claim Check Operation
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/convertBodyTo-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/convertBodyTo-eip.adoc
index 2704dc0b531..d6ea084576f 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/convertBodyTo-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/convertBodyTo-eip.adoc
@@ -12,10 +12,16 @@ The ConvertBodyTo EIP allows you to transform the message body to a different ty
 include::partial$eip-options.adoc[]
 // eip options: END
 
-The type is a FQN classname (fully qualified), so for example `java.lang.String`, `com.foo.MyBean` etc.
+NOTE: The type is a FQN classname (fully qualified), so for example `java.lang.String`, `com.foo.MyBean` etc.
 However, Camel has shorthand for common Java types, most noticeable `String` can be used instead of `java.lang.String`.
 You can also use `byte[]` for a byte array.
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 A common use-case is for converting the message body to a `String`:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/convertHeaderTo-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/convertHeaderTo-eip.adoc
index df04a1ac43b..21562f9881c 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/convertHeaderTo-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/convertHeaderTo-eip.adoc
@@ -12,10 +12,16 @@ The ConvertHeaderTo EIP allows you to transform message header to a different ty
 include::partial$eip-options.adoc[]
 // eip options: END
 
-The type is a FQN classname (fully qualified), so for example `java.lang.String`, `com.foo.MyBean` etc.
+NOTE: The type is a FQN classname (fully qualified), so for example `java.lang.String`, `com.foo.MyBean` etc.
 However, Camel has shorthand for common Java types, most noticeable `String` can be used instead of `java.lang.String`.
 You can also use `byte[]` for a byte array.
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 For example to convert the foo header to `String`:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/convertVariableTo-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/convertVariableTo-eip.adoc
index 2d91349f193..f6e476c0ab2 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/convertVariableTo-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/convertVariableTo-eip.adoc
@@ -12,10 +12,16 @@ The ConvertVariableTo EIP allows you to convert a variable to a different type.
 include::partial$eip-options.adoc[]
 // eip options: END
 
-The type is a FQN classname (fully qualified), so for example `java.lang.String`, `com.foo.MyBean` etc.
+NOTE: The type is a FQN classname (fully qualified), so for example `java.lang.String`, `com.foo.MyBean` etc.
 However, Camel has shorthand for common Java types, most noticeable `String` can be used instead of `java.lang.String`.
 You can also use `byte[]` for a byte array.
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 For example to convert the foo variable to `String`:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/customLoadBalancer-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/customLoadBalancer-eip.adoc
index c5b39894929..4736dffa007 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/customLoadBalancer-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/customLoadBalancer-eip.adoc
@@ -12,6 +12,12 @@ This EIP allows you to use your own xref:loadBalance-eip.adoc[Load Balancer] imp
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 An example using Java DSL:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
index fcf7b9f4ea9..56bfd35c5f2 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/delay-eip.adoc
@@ -14,6 +14,12 @@ The Delay EIP is used for delaying messages during routing.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 The example below will delay all messages received on *seda:b* 1 second before sending them to *mock:result*.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc
index e9483c6cf57..60c3ae35435 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/dynamicRouter-eip.adoc
@@ -20,6 +20,12 @@ image::eip/DynamicRouter.gif[image]
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Dynamic Router
 
 The Dynamic Router is similar to the xref:routingSlip-eip.adoc[Routing Slip] EIP,
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc
index 2d190dcb4b1..667590b68f1 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/enrich-eip.adoc
@@ -37,6 +37,11 @@ NOTE: This page documents the Enrich EIP.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
 == Content enrichment using Enrich EIP
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/failover-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/failover-eip.adoc
index 633c0cbbfba..9842611ecd5 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/failover-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/failover-eip.adoc
@@ -15,6 +15,12 @@ with the xref:loadBalance-eip.adoc[Load Balancer] EIP.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 In the example below calling the three http services is done with the load balancer.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/fault-tolerance-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/fault-tolerance-eip.adoc
index 9f98c08596f..58fa9fdd3f7 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/fault-tolerance-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/fault-tolerance-eip.adoc
@@ -17,6 +17,12 @@ The Fault Tolerance EIP supports 2 options which are listed below:
 |===
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 See xref:faultToleranceConfiguration-eip.adoc[Fault Tolerance Configuration] for all the configuration options
 on the Fault Tolerance xref:circuitBreaker-eip.adoc[Circuit Breaker].
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/faultToleranceConfiguration-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/faultToleranceConfiguration-eip.adoc
index 0fb6f2f743f..a8dca176283 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/faultToleranceConfiguration-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/faultToleranceConfiguration-eip.adoc
@@ -11,6 +11,12 @@ This page documents all the specific options for the xref:fault-tolerance-eip.ad
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 See xref:fault-tolerance-eip.adoc[Fault Tolerance] EIP for details how to use this EIP.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/filter-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/filter-eip.adoc
index dc91dab8180..043a3bc1d6a 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/filter-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/filter-eip.adoc
@@ -25,6 +25,12 @@ in Java. The filter will *include* the message if the predicate evaluated to `tr
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 The Camel xref:languages:simple-language.adoc[Simple] language
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc
index 563f0deceb5..53ac55dea0e 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/from-eip.adoc
@@ -17,6 +17,12 @@ The From EIP is the input.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 In the route below the route starts from
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc
index 80ea41dc257..bf4e269c443 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/idempotentConsumer-eip.adoc
@@ -25,6 +25,12 @@ the xref:manual::exchange.adoc[Exchange] failed, otherwise it stays there.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Idempotent Consumer implementations
 
 The idempotent consumer provides a pluggable repository which you can implement
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc
index 5f0f58353f3..7f3f10c3ecb 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/kamelet-eip.adoc
@@ -68,6 +68,12 @@ When calling a Kamelet you may just refer to the name (template id) of the Kamel
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Kamelet EIP
 
 [source,java]
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
index 7936d4e8f4b..60af5d21fa5 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/log-eip.adoc
@@ -21,6 +21,12 @@ Camel provides many ways to log the fact that you are processing a message. Here
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 === Difference between Log EIP and Log component
 
 This log EIP is much lighter and meant for logging human logs such as `Starting to do ...` etc.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc
index 066062cd61a..24eba63a394 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/loop-eip.adoc
@@ -16,15 +16,9 @@ include::partial$eip-options.adoc[]
 
 == Exchange properties
 
-For each iteration two exchange properties are set on the `Exchange`.
-Processors can rely on these properties to process the message in different ways.
-
-[width="100%",cols="3,1m,6",options="header"]
-|===
-| Property | Type | Description
-| `CamelLoopSize` | `int` | Total number of loops. This is not available if running the loop in while loop mode.
-| `CamelLoopIndex` | `int` | Index of the current iteration (0 based).
-|===
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
 == Looping modes
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc
index 992cde66657..bad961b9949 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/multicast-eip.adoc
@@ -24,14 +24,9 @@ include::partial$eip-options.adoc[]
 
 == Exchange properties
 
-The following exchange properties are set on each `Exchange` that are multicasted:
-
-[width="100%",cols="3,1m,6",options="header"]
-|=======================================================================
-| Property | Type | Description
-| `CamelMulticastIndex` | `int` | An index counter that increases for each Exchange being multicasted. The counter starts from 0.
-| `CamelMulticastComplete` | `boolean` | Whether this Exchange is the last.
-|=======================================================================
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
 == Using Multicast
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc
index 04c8d25e430..80f979c9fa7 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/onFallback-eip.adoc
@@ -16,6 +16,12 @@ If you need to call an external service over the network then you should use *on
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using fallback
 
 The *onFallback* is used by xref:circuitBreaker-eip.adoc[Circuit Breaker] EIPs to execute a fallback route.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc
index 3e521c8b0c1..2f3e078006d 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/pipeline-eip.adoc
@@ -21,6 +21,12 @@ together.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using pipeline
 
 You can create pipelines of logic using multiple
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/pollEnrich-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/pollEnrich-eip.adoc
index af55941ab54..6648d93e415 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/pollEnrich-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/pollEnrich-eip.adoc
@@ -39,6 +39,12 @@ NOTE: This page documents the Poll Enrich EIP.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Content enrichment using Poll Enrich EIP
 
 `pollEnrich` uses a xref:polling-consumer.adoc[Polling Consumer] to obtain the additional data.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/random-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/random-eip.adoc
index e1de9ac8d92..36fb4dabcfe 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/random-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/random-eip.adoc
@@ -15,6 +15,12 @@ This is a well known and classic policy, which spreads the load randomly.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 We want to load balance between three endpoints in random mode.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/recipientList-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/recipientList-eip.adoc
index 74899da126f..b6c9e3fe87c 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/recipientList-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/recipientList-eip.adoc
@@ -22,18 +22,13 @@ Define a channel for each recipient. Then use a Recipient List to inspect an inc
 include::partial$eip-options.adoc[]
 // eip options: END
 
-
 TIP: See the `cacheSize` option for more details on _how much cache_ to use depending on how many or few unique endpoints are used.
 
 == Exchange properties
 
-The following exchange properties are set on each `Exchange` that are sent by the recipient list:
-
-[width="100%",cols="3,1m,6",options="header"]
-|=======================================================================
-| Property | Type | Description
-| `CamelRecipientListEndpoint` | `String` | Uri of the `Endpoint` that the message was sent to.
-|=======================================================================
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
 == Using Recipient List
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeader-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeader-eip.adoc
index 100ef9a9109..e0e03227462 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeader-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeader-eip.adoc
@@ -14,6 +14,12 @@ The Remove Header EIP allows you to remove a single header from the xref:message
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 We want to remove a header with key "myHeader" from the message:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeaders-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeaders-eip.adoc
index 0b1c5d20ce7..a1922ceeab1 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeaders-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeHeaders-eip.adoc
@@ -15,6 +15,12 @@ based on pattern syntax.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Remove Headers by pattern
 
 The Remove Headers EIP supports pattern
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperties-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperties-eip.adoc
index 2b6757bc8bf..6fd7bbcd203 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperties-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperties-eip.adoc
@@ -15,7 +15,13 @@ based on pattern syntax.
 include::partial$eip-options.adoc[]
 // eip options: END
 
-== Remove Properties by pattern
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+== Remove Exchange Properties by pattern
 
 The Remove Properties EIP supports pattern
 matching by the following rules in the given order:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperty-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperty-eip.adoc
index 20543f047f9..95a55589825 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperty-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeProperty-eip.adoc
@@ -14,6 +14,12 @@ The Remove Property EIP allows you to remove a single property from the `Exchang
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 We want to remove an exchange property with key "myProperty" from the exchange:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeVariable-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeVariable-eip.adoc
index f14e3ecec65..a1b38153728 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/removeVariable-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/removeVariable-eip.adoc
@@ -14,6 +14,12 @@ The Remove Variable EIP allows you to remove a single variable.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 We want to remove a variable with key "myVar" from the exchange:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/resequence-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/resequence-eip.adoc
index cc337cfdb85..d1ef2feb593 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/resequence-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/resequence-eip.adoc
@@ -20,12 +20,6 @@ The Resequencer implementation in Camel uses an xref:manual::expression.adoc[Exp
 as the `Comparator` to re-order the messages. By using the expression then the messages
 can easily be re-ordered by a message header or another piece of the message.
 
-== Options
-
-// eip options: START
-include::partial$eip-options.adoc[]
-// eip options: END
-
 Camel supports two re-sequencing algorithms:
 
 * xref:batchConfig-eip.adoc[Batch Resequencing] - *Default mode*: collects messages into a batch, sorts the messages and sends them to their output.
@@ -34,6 +28,18 @@ Camel supports two re-sequencing algorithms:
 By default, the Resequencer does not support duplicate messages and will only keep the last message, in case a message arrives with the same message expression.
 However, in the batch mode you can enable it to allow duplicates.
 
+== Options
+
+// eip options: START
+include::partial$eip-options.adoc[]
+// eip options: END
+
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Batch Resequencing
 
 The following example shows how to use the Resequencer in xref:batchConfig-eip.adoc[batch mode] (default),
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4j-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4j-eip.adoc
index df745863fd1..72ff16557e5 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4j-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4j-eip.adoc
@@ -17,9 +17,15 @@ The Resilience4j EIP supports 2 options which are listed below:
 |===
 // eip options: END
 
-See xref:resilience4jConfiguration-eip.adoc[Resilience4j Configuration] for all the configuration options
+NOTE: See xref:resilience4jConfiguration-eip.adoc[Resilience4j Configuration] for all the configuration options
 on Resilience xref:circuitBreaker-eip.adoc[Circuit Breaker].
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Resilienc4j EIP
 
 Below is an example route showing a Resilience4j circuit breaker
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4jConfiguration-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4jConfiguration-eip.adoc
index 88df8e0767e..7bb65b3b7d1 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4jConfiguration-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/resilience4jConfiguration-eip.adoc
@@ -11,6 +11,12 @@ This page documents all the specific options for the xref:resilience4j-eip.adoc[
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 See xref:resilience4j-eip.adoc[Resilience4j] EIP for details how to use this EIP.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc
index aac6e76a219..9a9544f0102 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/rollback-eip.adoc
@@ -14,6 +14,12 @@ to rollback and stop continue routing the message.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Rollback
 
 We want test message for some conditions and force a rollback if a message may be faulty.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/roundRobin-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/roundRobin-eip.adoc
index 9f6aa835693..6977bd7fbe1 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/roundRobin-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/roundRobin-eip.adoc
@@ -17,6 +17,12 @@ This is a well known and classic policy, which spreads the load evenly.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 We want to load balance between three endpoints in round-robin mode.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/routingSlip-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/routingSlip-eip.adoc
index 38bb2de76c9..91b91787adc 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/routingSlip-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/routingSlip-eip.adoc
@@ -30,16 +30,11 @@ TIP: See the `cacheSize` option for more details on _how much cache_ to use depe
 include::partial$eip-exchangeProperties.adoc[]
 // eip exchangeProperties: END
 
-== Manual Exchange properties (TODO remove me)
-
-The following exchange properties are set on each `Exchange` that are sent by the routing slip:
+== Exchange properties
 
-[width="100%",cols="3,1m,6",options="header"]
-|=======================================================================
-| Property | Type | Description
-| `CamelToEndpoint` | `String` | Uri of the `Endpoint` that the message was sent to.
-| `CamelSlipEndpoint` | `String` | Uri of the `Endpoint` that the message was sent to.
-|=======================================================================
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
 == Using Routing Slip
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/saga-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/saga-eip.adoc
index 9a9000f8593..4b040730f95 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/saga-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/saga-eip.adoc
@@ -35,7 +35,13 @@ include::partial$eip-options.adoc[]
 
 == Exchange properties
 
-The following exchange properties are set on each `Exchange` participating in a Saga (normal actions, compensating actions and completions):
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+== Exchange headers
+
+The following exchange headers are set on each `Exchange` participating in a Saga (normal actions, compensating actions and completions):
 
 [width="100%",cols="4m,2m,5",options="header"]
 |===
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/sample-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/sample-eip.adoc
index 9337fb7d594..05632ed459e 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/sample-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/sample-eip.adoc
@@ -19,6 +19,13 @@ and all other messages are stopped.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+
 == Using Sample EIP
 
 In the example below we sample one message per second (default time period):
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/script-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/script-eip.adoc
index 1f87671f30f..20af884caeb 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/script-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/script-eip.adoc
@@ -21,6 +21,12 @@ NOTE: The returned value from the script is discarded and not used. If the retur
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Script EIP
 
 The route below will read the file contents and call a groovy script
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/serviceCall-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/serviceCall-eip.adoc
index 9397a2630bc..15059e89988 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/serviceCall-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/serviceCall-eip.adoc
@@ -42,6 +42,12 @@ the service by a name.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Service Call
 
 The service to call is looked up in a service registry of some sorts such as Kubernetes, Consul, Zookeeper, DNS.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc
index a9b7a986acd..5b8b0689615 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/setBody-eip.adoc
@@ -30,9 +30,13 @@ This page is documenting the first approach by using Set Body EIP.
 include::partial$eip-options.adoc[]
 // eip options: END
 
-== Examples
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
-=== Using Set Body EIP
+== Examples
 
 You can use a xref:setBody-eip.adoc[Set Body] which uses an
 xref:manual::expression.adoc[Expression] to do the transformation:
@@ -65,7 +69,7 @@ XML::
 ----
 ====
 
-=== What is the difference between Transform and Set Body
+== What is the difference between Transform and Set Body
 
 The Transform EIP always sets the result on the OUT message body.
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc
index f845e1924cf..13fef5f5fd5 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeader-eip.adoc
@@ -14,6 +14,12 @@ The SetHeader EIP is used for setting a xref:message.adoc[message] header.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Set Header
 
 The following example shows how to set a header in a Camel route:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeaders-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeaders-eip.adoc
index 2e5cbe6e288..5155b781cfb 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeaders-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/setHeaders-eip.adoc
@@ -14,6 +14,13 @@ The SetHeaders EIP is used for setting multiple xref:message.adoc[message] heade
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+
 == Using Set Headers
 
 The following example shows how to set multiple headers in a Camel route using Java, XML or YAML. Note that the syntax is slightly different in each case.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/setProperty-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/setProperty-eip.adoc
index 89892e3eb54..590ec879fec 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/setProperty-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/setProperty-eip.adoc
@@ -17,6 +17,12 @@ This is *not* for setting xref:manual:ROOT:using-propertyplaceholder.adoc[proper
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Example
 
 The following example shows how to set a property on the exchange in a Camel route:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/setVariable-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/setVariable-eip.adoc
index 85b6735fcb3..6554c2f8630 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/setVariable-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/setVariable-eip.adoc
@@ -14,6 +14,14 @@ The SetVariable EIP is used for setting a xref:manual:ROOT:exchange.adoc[Exchang
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+== Example
+
 The following example shows how to set a variable on the exchange in a Camel route:
 
 [tabs]
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/sort-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/sort-eip.adoc
index d2854bf360c..5e6b6fb59c7 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/sort-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/sort-eip.adoc
@@ -18,6 +18,13 @@ Use a special filter, a xref:message-translator.adoc[Message Translator], betwee
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+
 == How sorting works
 
 Sort will by default sort the message body using a default `Comparator` that handles numeric values
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/split-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/split-eip.adoc
index d5c4a26a507..84b3467a011 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/split-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/split-eip.adoc
@@ -22,16 +22,9 @@ include::partial$eip-options.adoc[]
 
 == Exchange properties
 
-The following exchange properties are set on each `Exchange` that are split:
-
-[width="100%",cols="3,1m,6",options="header"]
-|=======================================================================
-| Property | Type | Description
-| `CamelSplitIndex` | `int` | A split counter that increases for each Exchange being split. The counter starts from 0.
-| `CamelSplitSize` | `int` | The total number of Exchanges that was split.
-       This property is not applied for stream based splitting, except for the very last message because then Camel knows the total size.
-| `CamelSplitComplete` | `boolean` | Whether this Exchange is the last.
-|=======================================================================
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
 
 == Using Split
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/step-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/step-eip.adoc
index 76525fdcd33..51159c21617 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/step-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/step-eip.adoc
@@ -35,6 +35,13 @@ This means you can monitor your Camel applications and gather statistics at 4-ti
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+
 == Using Step EIP
 
 In Java, you use `step` to group together sub nodes as shown:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/sticky-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/sticky-eip.adoc
index 958da7441f2..491be582bdf 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/sticky-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/sticky-eip.adoc
@@ -17,6 +17,12 @@ is used to determine the destination. This allows to route all messages with the
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Examples
 
 In this case we are using the header myKey as correlation expression:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/stop-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/stop-eip.adoc
index 1741456836d..69cb23fdca2 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/stop-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/stop-eip.adoc
@@ -18,6 +18,12 @@ Use a special filter to mark the message to be stopped.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Stop
 
 We want to stop routing a message if the message body contains the word Bye.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/streamConfig-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/streamConfig-eip.adoc
index 1acd2944466..e3205ce3e06 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/streamConfig-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/streamConfig-eip.adoc
@@ -10,3 +10,9 @@ Configuring for xref:resequence-eip.adoc[Resequence EIP] in stream mode.
 // eip options: START
 include::partial$eip-options.adoc[]
 // eip options: END
+
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc
index c3b4cd0ca34..729e1d5c256 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/threads-eip.adoc
@@ -20,6 +20,12 @@ In Camel this is implemented as the Threads EIP.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Threads EIP
 
 The example below will add a Thread pool with a pool size of 5 threads before sending to mock:result.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/throttle-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/throttle-eip.adoc
index 51077de5be7..dd65ba4dafb 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/throttle-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/throttle-eip.adoc
@@ -18,6 +18,12 @@ Use a Throttler that controls the rate how many or fast messages are flowing to
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Using Throttle
 
 The below example will throttle messages received on seda:a before being sent to mock:result
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/to-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/to-eip.adoc
index 0856fa326e1..1ff47a8fdab 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/to-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/to-eip.adoc
@@ -29,7 +29,13 @@ The To and xref:toD-eip.adoc[ToD] EIPs are the most common patterns to use in Ca
 include::partial$eip-options.adoc[]
 // eip options: END
 
-=== Different between To and ToD
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+== Different between To and ToD
 
 The `to` is used for sending messages to a static xref:message-endpoint.adoc[endpoint].
 In other words `to` sends message only to the *same* endpoint.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc
index d44d5eedfe2..deb86ce0db9 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/toD-eip.adoc
@@ -29,7 +29,13 @@ The xref:to-eip.adoc[To] and ToD EIPs are the most common patterns to use in Cam
 include::partial$eip-options.adoc[]
 // eip options: END
 
-=== Different between To and ToD
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+== Different between To and ToD
 
 The `to` is used for sending messages to a static xref:message-endpoint.adoc[endpoint].
 In other words `to` sends message only to the *same* endpoint.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/topic-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/topic-eip.adoc
index 7f1accf32e2..2087c8e55d0 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/topic-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/topic-eip.adoc
@@ -15,6 +15,13 @@ With this policy then all destination is selected.
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+
 == Examples
 
 In this example we send the message to all three endpoints:
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc
index f0283430acc..5067c5d86b6 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/transform-eip.adoc
@@ -34,7 +34,13 @@ This page is documenting the first approach by using Transform EIP.
 include::partial$eip-options.adoc[]
 // eip options: END
 
-=== Using Transform EIP
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+== Using Transform EIP
 
 You can use a xref:transform-eip.adoc[Transform] which uses an
 xref:manual::expression.adoc[Expression] to do the transformation:
@@ -124,7 +130,7 @@ The given data type may reference a xref:manual::transformer.adoc[Transformer] t
 
 Users may also specify `fromType` in order to reference a very specific transformation from a given data type to a given data type.
 
-=== What is the difference between Transform and Set Body
+== What is the difference between Transform and Set Body
 
 The Transform EIP always sets the result on the OUT message body.
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/validate-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/validate-eip.adoc
index 201722b5022..9517266da21 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/validate-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/validate-eip.adoc
@@ -21,7 +21,13 @@ When a message is *not* valid then a `PredicateValidationException` is thrown.
 include::partial$eip-options.adoc[]
 // eip options: END
 
-=== Using Validate EIP
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
+== Using Validate EIP
 
 The route below will read the file contents and validate the message body against a regular expression.
 
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/weighted-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/weighted-eip.adoc
index 4bf0b85352b..013d324203a 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/weighted-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/weighted-eip.adoc
@@ -15,6 +15,12 @@ With this policy in case of failures the exchange will be tried on the next endp
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Examples
 
 In this example we want to send the most message to the first endpoint, then the second, and only a few to the last.
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc
index 0293bb74b3b..0524b54ca0e 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/wireTap-eip.adoc
@@ -19,6 +19,12 @@ image::eip/WireTap.gif[image]
 include::partial$eip-options.adoc[]
 // eip options: END
 
+== Exchange properties
+
+// eip exchangeProperties: START
+include::partial$eip-exchangeProperties.adoc[]
+// eip exchangeProperties: END
+
 == Wire Tap
 
 Camel's Wire Tap will copy the original