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 d56e4bb89d9c CAMEL-16861: Update docs
d56e4bb89d9c is described below
commit d56e4bb89d9c9cebcca6d6d8a416e42635769785
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Feb 18 11:02:23 2026 +0100
CAMEL-16861: Update docs
---
.../src/main/docs/modules/eips/pages/to-eip.adoc | 11 +-
.../src/main/docs/modules/eips/pages/toD-eip.adoc | 129 ++++++++++++++++++++-
.../modules/eips/pages/topicLoadBalancer-eip.adoc | 19 +++
3 files changed, 152 insertions(+), 7 deletions(-)
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 094396a66334..7b0e544c1d00 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
@@ -76,10 +76,11 @@ YAML::
+
[source,yaml]
----
-- from:
- uri: file:messages/foo
- steps:
- - to:
- uri: jms:queue:foo
+- route:
+ from:
+ uri: file:messages/foo
+ steps:
+ - to:
+ uri: jms:queue:foo
----
====
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 24d08c78e24e..27800bf01008 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
@@ -69,6 +69,18 @@ XML::
<toD uri="${header.foo}"/>
</route>
----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:start
+ steps:
+ - toD:
+ uri: "${header.foo}"
+----
====
You can also prefix the uri with a value because the endpoint
xref:manual::uris.adoc[URI] is
@@ -93,6 +105,18 @@ XML::
<toD uri="mock:${header.foo}"/>
</route>
----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:start
+ steps:
+ - toD:
+ uri: "mock:${header.foo}"
+----
====
In the example above, we compute the dynamic endpoint with a prefix "mock:" and
@@ -126,6 +150,18 @@ XML::
<toD uri="language:xpath:/order/@uri"/>
</route>
----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:start
+ steps:
+ - toD:
+ uri: language:xpath:/order/@uri
+----
====
=== Avoid creating endless dynamic endpoints that take up resources
@@ -164,6 +200,19 @@ XML::
<toD uri="http:myloginserver:8080/login?userid=${header.userName}"
cacheSize="10"/>
</route>
----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:login
+ steps:
+ - toD:
+ uri: "http:myloginserver:8080/login?userid=${header.userName}"
+ cacheSize: 10
+----
====
IMPORTANT: this will only reduce the endpoint cache of the `toD` that has a
chance
@@ -176,6 +225,10 @@ provide the dynamic parts in Camel message headers (if
possible).
In the example above then the parameter `userid` is dynamically computed, and
would result in one instance of endpoint and producer
for each different userid. To avoid having too dynamic endpoints, you use a
single static endpoint and use headers to provide the dynamic parts:
+[tabs]
+====
+Java::
++
[source,java]
----
from("direct:login")
@@ -184,6 +237,45 @@ from("direct:login")
.toD("http:myloginserver:8080");
----
+XML::
++
+[source,xml]
+----
+<route>
+ <from uri="direct:login"/>
+ <setHeader name="CamelHttpPath">
+ <constant>/login</constant>
+ </setHeader>
+ <setHeader name="CamelHttpQuery">
+ <simple>userid=${header.userName}</simple>
+ </setHeader>
+ <toD uri="http:myloginserver:8080"/>
+</route>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:login
+ steps:
+ - setHeader:
+ name: CamelHttpPath
+ expression:
+ constant:
+ expression: /login
+ - setHeader:
+ name: CamelHttpQuery
+ expression:
+ simple:
+ expression: "userid=${header.userName}"
+ - toD:
+ uri: http:myloginserver:8080
+----
+====
+
However, you can use optimized components for `toD` that can _solve_ this out
of the box,
as documented next.
@@ -200,7 +292,11 @@ This is with among the following components, which have
been optimized for `toD`
A number of non-HTTP components has been optimized as well:
+- camel-activemq
- camel-amqp
+- camel-azure-files
+- camel-caffeine
+- camel-dynamic-router
- camel-file
- camel-ftp
- camel-jms
@@ -209,9 +305,10 @@ A number of non-HTTP components has been optimized as well:
- camel-paho
- camel-sjms
- camel-sjms2
+- camel-smb
- camel-spring-rabbitmq
-For the optimisation to work, then:
+For the optimization to work, then:
. The optimization is detected and activated during startup of the Camel
routes with `toD`.
. The dynamic uri in `toD` must provide the component name as either static or
resolved via xref:manual::using-propertyplaceholder.adoc[property placeholders].
@@ -222,13 +319,41 @@ for context-path and query parameters will be provided as
headers:
For example, this route:
+[tabs]
+====
+
+Java::
++
[source,java]
----
from("direct:login")
.toD("http:myloginserver:8080/login?userid=${header.userName}");
----
-It will essentially be optimized to (**internally** pseudo route):
+XML::
++
+[source,xml]
+----
+<route>
+ <from uri="direct:login"/>
+ <toD uri="http:myloginserver:8080/login?userid=${header.userName}"/>
+</route>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:login
+ steps:
+ - toD:
+ uri: "http:myloginserver:8080/login?userid=${header.userName}"
+----
+====
+
+This will essentially be optimized to (**internally** pseudo route):
[source,java]
----
diff --git
a/core/camel-core-engine/src/main/docs/modules/eips/pages/topicLoadBalancer-eip.adoc
b/core/camel-core-engine/src/main/docs/modules/eips/pages/topicLoadBalancer-eip.adoc
index 17b5e9e6e35c..efbda1b053f0 100644
---
a/core/camel-core-engine/src/main/docs/modules/eips/pages/topicLoadBalancer-eip.adoc
+++
b/core/camel-core-engine/src/main/docs/modules/eips/pages/topicLoadBalancer-eip.adoc
@@ -56,4 +56,23 @@ XML::
</route>
----
+YAML::
++
+[source,yaml]
+----
+- route:
+ from:
+ uri: direct:start
+ steps:
+ - loadBalance:
+ steps:
+ - topicLoadBalancer: {}
+ - to:
+ uri: seda:x
+ - to:
+ uri: seda:y
+ - to:
+ uri: seda:z
+----
+
====