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 cc422751840e CAMEL-16861: Update docs
cc422751840e is described below
commit cc422751840e147162a4d52fd8dbf8a413cfe40d
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Feb 23 16:14:37 2026 +0100
CAMEL-16861: Update docs
---
.../modules/ROOT/pages/route-group.adoc | 86 +++++++++++++++++++---
.../TemplatedRouteDefinitionDeserializer.java | 6 ++
.../generated/resources/schema/camelYamlDsl.json | 3 +
.../camel/dsl/yaml/TemplatedRouteTest.groovy | 4 +
4 files changed, 90 insertions(+), 9 deletions(-)
diff --git a/docs/user-manual/modules/ROOT/pages/route-group.adoc
b/docs/user-manual/modules/ROOT/pages/route-group.adoc
index 8e3f09693a3c..cdcf1d18fd2e 100644
--- a/docs/user-manual/modules/ROOT/pages/route-group.adoc
+++ b/docs/user-manual/modules/ROOT/pages/route-group.adoc
@@ -4,7 +4,8 @@ A group is an identifier for multiple routes that belong
together. For example,
== Examples
-In the route below, we use the group name to identify two routes:
+In the route below, we use the `group` option to give the 2 first routes the
same group name `order` to identify that these two routes
+are grouped together. The last route has no group assigned.
[tabs]
====
@@ -23,6 +24,9 @@ from("direct:processOrder")
.group("order")
.to("bean:orderService?method=process")
.to("activemq:queue:order.out");
+
+from("timer:tick")
+ .to("bean:wakeup");
----
XML::
@@ -30,22 +34,62 @@ XML::
[source,xml]
----
<route id="validate" group="order">
- <from uri="activemq:queue:order.in"/>
- <to uri="bean:orderService?method=validate"/>
- <to uri="direct:processOrder"/>
+ <from uri="activemq:queue:order.in"/>
+ <to uri="bean:orderService?method=validate"/>
+ <to uri="direct:processOrder"/>
</route>
<route id="process" group="order">
- <from uri="direct:processOrder"/>
- <to uri="bean:orderService?method=process"/>
- <to uri="activemq:queue:order.out"/>
+ <from uri="direct:processOrder"/>
+ <to uri="bean:orderService?method=process"/>
+ <to uri="activemq:queue:order.out"/>
+</route>
+
+<route>
+ <from uri="timer:tick"/>
+ <to uri="bean:wakeUp"/>
</route>
----
+
+YAML::
++
+[source,yaml]
+----
+- route:
+ id: validate
+ group: order
+ from:
+ uri: activemq:queue:order.in
+ steps:
+ - to:
+ uri: bean:orderServer?method=validate
+ - to:
+ uri: direct:processOrder
+- route:
+ id: process
+ group: order
+ from:
+ uri: direct:processOrder
+ steps:
+ - to:
+ uri: bean:orderService?method=process
+ - to:
+ uri: activemq:queue:order.out
+- route:
+ from:
+ uri: timer:tick
+ steps:
+ - to:
+ uri: bean:wakeUp
+----
====
== Creating a route from a route template
-It's also possible to call a route template and add the created route to a
group.
+When creating new routes from xref:route-template.adoc[] then you can also
assign a group name to the created route.
+
+In the example below we are creating 2 new route from the template
`myTemplate` with the given set of parameters,
+and assign `greetings` as the group name to the created routes.
[tabs]
====
@@ -68,7 +112,7 @@ XML::
+
[source,xml]
----
-<templatedRoutes xmlns="http://camel.apache.org/schema/spring">
+<templatedRoutes>
<templatedRoute routeTemplateRef="myTemplate" group="greetings">
<parameter name="name" value="one"/>
<parameter name="greeting" value="Hello"/>
@@ -80,6 +124,30 @@ XML::
</templatedRoute>
</templatedRoutes>
----
+
+YAML::
++
+[source,yaml]
+----
+- templatedRoute:
+ routeTemplateRef: "myTemplate"
+ group: "greetings"
+ parameters:
+ - name: "name"
+ value: "one"
+ - name: "greeting"
+ value: "Hello"
+- templatedRoute:
+ routeTemplateRef: "myTemplate"
+ group: "greetings"
+ parameters:
+ - name: "name"
+ value: "two"
+ - name: "greeting"
+ value: "Bonjour"
+ - name: "myPeriod"
+ value: "5s"
+----
====
== Performing Tasks
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteDefinitionDeserializer.java
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteDefinitionDeserializer.java
index 6e407d80ddee..162e34c9bc8b 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteDefinitionDeserializer.java
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl-deserializers/src/main/java/org/apache/camel/dsl/yaml/deserializers/TemplatedRouteDefinitionDeserializer.java
@@ -40,6 +40,8 @@ import org.snakeyaml.engine.v2.nodes.Node;
@YamlProperty(name = "routeTemplateRef",
type = "string",
required = true),
+ @YamlProperty(name = "group",
+ type = "string"),
@YamlProperty(name = "parameters",
type =
"array:org.apache.camel.model.TemplatedRouteParameterDefinition"),
@YamlProperty(name = "beans",
@@ -74,6 +76,10 @@ public class TemplatedRouteDefinitionDeserializer extends
YamlDeserializerBase<T
target.setRouteTemplateRef(asText(node));
break;
}
+ case "group": {
+ target.setGroup(asText(node));
+ break;
+ }
case "parameters": {
List<TemplatedRouteParameterDefinition> items =
asFlatList(node, TemplatedRouteParameterDefinition.class);
target.setParameters(items);
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
index 982fd079a6a5..c863c11076ce 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/generated/resources/schema/camelYamlDsl.json
@@ -7446,6 +7446,9 @@
"$ref" :
"#/items/definitions/org.apache.camel.model.BeanFactoryDefinition"
}
},
+ "group" : {
+ "type" : "string"
+ },
"parameters" : {
"type" : "array",
"items" : {
diff --git
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy
index c09362289cb0..6915afd14142 100644
---
a/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy
+++
b/dsl/camel-yaml-dsl/camel-yaml-dsl/src/test/groovy/org/apache/camel/dsl/yaml/TemplatedRouteTest.groovy
@@ -38,6 +38,7 @@ class TemplatedRouteTest extends YamlTestSupport {
- templatedRoute:
routeId: "myRoute"
routeTemplateRef: "myTemplate"
+ group: "myGroup"
parameters:
- name: "directName"
value: "foo"
@@ -50,6 +51,7 @@ class TemplatedRouteTest extends YamlTestSupport {
- templatedRoute:
routeId: "myRoute2"
routeTemplateRef: "myTemplate"
+ group: "myGroup"
parameters:
- name: "directName"
value: "foo2"
@@ -75,9 +77,11 @@ class TemplatedRouteTest extends YamlTestSupport {
with(context.routeDefinitions[0], RouteDefinition) {
routeId == 'myRoute'
+ group == 'myGroup'
}
with(context.routeDefinitions[1], RouteDefinition) {
routeId == 'myRoute2'
+ group == 'myGroup'
}
MockEndpoint.assertIsSatisfied(context)
}