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)
     }

Reply via email to