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 <claus.ib...@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