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 75e9090f2107 CAMEL-16861: Update docs
75e9090f2107 is described below
commit 75e9090f21079053b9b4ddcd1070c7c7aef43afb
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Feb 25 19:58:10 2026 +0100
CAMEL-16861: Update docs
---
docs/user-manual/modules/ROOT/pages/variables.adoc | 113 ++++++++++++++++-----
.../ROOT/pages/what-are-the-dependencies.adoc | 19 +++-
.../modules/ROOT/pages/writing-components.adoc | 12 ++-
3 files changed, 112 insertions(+), 32 deletions(-)
diff --git a/docs/user-manual/modules/ROOT/pages/variables.adoc
b/docs/user-manual/modules/ROOT/pages/variables.adoc
index b06d0b74c031..1462a9bf0b94 100644
--- a/docs/user-manual/modules/ROOT/pages/variables.adoc
+++ b/docs/user-manual/modules/ROOT/pages/variables.adoc
@@ -7,7 +7,7 @@ In Camel 4.4, we have introduced the concept of _variables_.
A variable is a key/value that can hold a value that can either be private per
`Exchange`,
or shared per route, or per `CamelContext`.
-NOTE: You can also use _exchange properties_ as variables, but the exchange
properties are also used internally by Camel,
+IMPORTANT: You can also use _exchange properties_ as variables, but the
exchange properties are also used internally by Camel,
and some EIPs and components. With the newly introduced _variables_ then these
are exclusively for end users.
== Variable Repository
@@ -95,8 +95,11 @@ String str =
context.getVariable("route:myRouteId:myRouteKey", String.class);
== Setting and getting variables from DSL
-It is also possible to use variables in Camel xref:routes.adoc[routes] using
the
-setVariable, removeVariable, and convertVariableTo EIPs.
+It is also possible to use variables in Camel xref:routes.adoc[routes] using
the:
+
+- xref:components:eips:setVariable-eip.adoc[setVariable] EIP
+- xref:components:eips:removeVariable-eip.adoc[removeVariable] EIP
+- xref:components:eips:convertVariableTo-eip.adoc[convertVariableTo] EIP
These EIPs make it possible to set and remove variables from routes. And you
can also access variables from the
xref:components:languages:simple-language.adoc[Simple] language.
@@ -164,6 +167,7 @@ Then the second route can get hold of the variable without
having to specify its
[tabs]
====
+
Java::
+
[source,java]
@@ -177,6 +181,53 @@ from("direct:second").routeId("second")
// use variable from this route
.setBody().variable("route:foo");
----
+
+XML::
++
+[source,xml]
+----
+<route id="first">
+ <from uri="direct:start"/>
+ <setVariable name="route:second:foo">
+ <constant>Hello World</constant>
+ </setVariable>
+ <to uri="mock:end"/>
+</route>
+
+<route id="second">
+ <from uri="direct:second"/>
+ <setBody>
+ <variable>route:foo</variable>
+ </setBody>
+</route>
+----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ id: first
+ from:
+ uri: direct:start
+ steps:
+ - setVariable:
+ name: route:second:foo
+ expression:
+ constant:
+ expression: Hello World
+ - to:
+ uri: mock:end
+- route:
+ id: second
+ from:
+ uri: direct:second
+ steps:
+ - setBody:
+ expression:
+ variable:
+ expression: route:foo
+----
====
@@ -315,6 +366,7 @@ And a remote service is called via the route below, and
this service returns a n
[tabs]
====
+
Java::
+
[source,java]
@@ -323,6 +375,7 @@ from("direct:service")
.to("http:myservice")
.to("log:after");
----
+
XML::
+
[source,xml]
@@ -333,15 +386,17 @@ XML::
<to uri="log:after"/>
</route>
----
+
YAML::
+
[source,yaml]
----
-from:
- uri: "direct:service"
- steps:
- - to: "http:myservice"
- - to: "log:after"
+- route:
+ from:
+ uri: direct:service
+ steps:
+ - to: http:myservice
+ - to: log:after
----
====
@@ -360,6 +415,7 @@ the result changes as follows:
[tabs]
====
+
Java::
+
[source,java]
@@ -368,6 +424,7 @@ from("direct:service")
.toV("http:myservice", null, "myVar")
.to("log:after");
----
+
XML::
+
[source,xml]
@@ -378,17 +435,19 @@ XML::
<to uri="log:after"/>
</route>
----
+
YAML::
+
[source,yaml]
----
-from:
- uri: "direct:service"
- steps:
- - to:
- uri: http:myservice
- variableReceive: myVar
- - to: "log:after"
+- route:
+ from:
+ uri: "direct:service"
+ steps:
+ - to:
+ uri: http:myservice
+ variableReceive: myVar
+ - to: "log:after"
----
====
@@ -423,6 +482,7 @@ the name of the variable. In XML and YAML DSL you specify
this using the `variab
[tabs]
====
+
Java::
+
[source,java]
@@ -433,6 +493,7 @@ fromV("direct:start", "myKey")
.setBody(variable("myKey"))
.to("mock:result");
----
+
XML::
+
[source,xml]
@@ -449,20 +510,22 @@ XML::
<to uri="mock:result"/>
</route>
----
+
YAML::
+
[source,yaml]
----
-from:
- uri: "direct:start"
- variableReceive: "myKey"
- steps:
- - transform:
- simple: "Bye ${body}"
- - to: "mock:foo"
- - setBody:
- variable: "myKey"
- - to: "mock:result"
+- route:
+ from:
+ uri: "direct:start"
+ variableReceive: "myKey"
+ steps:
+ - transform:
+ simple: "Bye ${body}"
+ - to: "mock:foo"
+ - setBody:
+ variable: "myKey"
+ - to: "mock:result"
----
====
diff --git a/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc
b/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc
index 0faee84eb04d..b739bdece974 100644
--- a/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc
+++ b/docs/user-manual/modules/ROOT/pages/what-are-the-dependencies.adoc
@@ -1,12 +1,27 @@
= What are the dependencies?
-== Java support
+== JDK support
- Camel 2 requires JDK 8
- Camel 3 requires JDK 8 and supports JDK 11
- Camel 3.15.0+ requires JDK 11
- Camel 3.17.0+ requires JDK 11 and supports JDK 17
-- Camel 4.0.0+ requires JDK 17
+- Camel 4.0.0+ requires JDK 17 and supports JDK 21
+
+You can use Camel JBang which lists up-to-date JDK requirements for every
Camel release.
+
+[source,bash]
+----
+camel version list --lts --patch=false --fresh
+ CAMEL VERSION JDK KIND RELEASED SUPPORTED UNTIL DAYS
+ 4.0.0 17 LTS August 2023 August 2024 926
+ 4.4.0 17,21 LTS February 2024 February 2025 739
+ 4.8.0 17,21 LTS September 2024 September 2025 528
+ 4.10.0 17,21 LTS February 2025 February 2026 379
+ 4.14.0 17,21 LTS August 2025 August 2026 190
+ 4.18.0 17,21 LTS February 2026 February 2027 8
+Last updated: 2026-02-25 (use --fresh to update list from internet)
+----
== Camel JAR Dependencies
diff --git a/docs/user-manual/modules/ROOT/pages/writing-components.adoc
b/docs/user-manual/modules/ROOT/pages/writing-components.adoc
index 57249f4c5268..646833b5392a 100644
--- a/docs/user-manual/modules/ROOT/pages/writing-components.adoc
+++ b/docs/user-manual/modules/ROOT/pages/writing-components.adoc
@@ -39,17 +39,17 @@ Typically, you just derive from `DefaultEndpoint`
== Annotating your Endpoint
If you want to benefit from the automatic generation
-of HTML documentation for all the parameters on your endpoint as part of
-the maven site reports, you need to
-xref:endpoint-annotations.adoc[annotate your Endpoint's parameters].
+of metadata documentation for all the parameters on your endpoint as part of
+you need toxref:endpoint-annotations.adoc[annotate your Endpoint's parameters].
+This metadata allows tooling such as IDE plugins, JBang and others to better
understand
+your custom component and provide code assistance.
So this means you add a `@UriEndpoint` annotation to your Endpoint class
and then annotate each parameter you wish to be configured via the URI
configuration mechanism with `@UriParam` (or `@UriParams` for nested
configuration objects).
-Refer to the xref:endpoint-annotations.adoc[Endpoint Annotations guide
-for details].
+Refer to the xref:endpoint-annotations.adoc[Endpoint Annotations guide for
details].
== Options
@@ -89,3 +89,5 @@ parameter:
}
----
+TIP: To learn how to build a custom component its recommended to take a look
at any of the existing components
+from the source code. For a beginner component then look at the log or timer
component.
\ No newline at end of file