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 cd3aaf8  CAMEL-16861: Cleanup and update EIP docs
cd3aaf8 is described below

commit cd3aaf815ec36df10b1f41594eb3b05aee2c6183
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Oct 7 07:45:32 2021 +0200

    CAMEL-16861: Cleanup and update EIP docs
---
 .../modules/eips/pages/message-dispatcher.adoc     |  2 +-
 .../docs/modules/eips/pages/message-router.adoc    | 85 ++++++++++------------
 2 files changed, 39 insertions(+), 48 deletions(-)

diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-dispatcher.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-dispatcher.adoc
index 0c36c51..49bbb81 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-dispatcher.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-dispatcher.adoc
@@ -11,6 +11,6 @@ In Camel the Message Dispatcher can be archived in different 
ways such as:
 * You can use a component like xref:components::jms-component.adoc[JMS] with 
selectors
 to implement a xref:selective-consumer.adoc[Selective Consumer] as the Message 
Dispatcher implementation.
 
-* Or you can use a xref:message-endpoint.adoc[Message Endpoint] as the Message 
Dispatcher itself, and
+* Or you can use a xref:message-endpoint.adoc[Message Endpoint] as the Message 
Dispatcher itself, or
   combine this with the xref:choice-eip.adoc[Content Based Router] as the 
Message Dispatcher.
 
diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
index 443e8b5..85cda6b 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
@@ -8,63 +8,54 @@ then choose the right output destination.
 
 image::eip/MessageRouter.gif[image]
 
-The following example shows how to route a request from an input
-*queue:a* endpoint to either *queue:b*, *queue:c* or *queue:d* depending
-on the evaluation of various xref:latest@manual:ROOT:predicate.adoc[Predicate] 
expressions
+In Camel the Message Router can be archived in different ways such as:
+
+* You can use the xref:choice-eip.adoc[Content Based Router] to evaluate and 
choose the output destination.
+* The xref:routingSlip-eip.adoc[Routing Slip] and 
xref:dynamicRouter-eip.adoc[Dynamic Router] EIPs can also be used for choosing 
which destination to route messages.
+
+The xref:choice-eip.adoc[Content Based Router] is recommended to use when you 
have multiple predicates to evaluate
+where to send the message.
+
+The xref:routingSlip-eip.adoc[Routing Slip] and 
xref:dynamicRouter-eip.adoc[Dynamic Router] are arguably
+more advanced where you do not use predicates to choose where to route the 
message, but use an expression
+to choose where the message should go.
 
-== Examples
+== Example
 
 The following example shows how to route a request from an input
-*direct:a* endpoint to either *direct:b*, *direct:c* or *direct:d* depending on
-the evaluation of various xref:latest@manual:ROOT:predicate.adoc[Predicate] 
expressions
+direct:a endpoint to either direct:b, direct:c, or direct:d depending on
+the evaluation of various xref:latest@manual:ROOT:predicate.adoc[Predicate]:
 
 [source,java]
 ----
-RouteBuilder builder = new RouteBuilder() {
-    public void configure() {
-        from("direct:a")
-            .choice()
-                .when(simple("${header.foo} == 'bar'"))
-                    .to("direct:b")
-                .when(simple("${header.foo} == 'cheese'"))
-                    .to("direct:c")
-                .otherwise()
-                    .to("direct:d");
-    }
-};
+from("direct:a")
+    .choice()
+        .when(simple("${header.foo} == 'bar'"))
+            .to("direct:b")
+        .when(simple("${header.foo} == 'cheese'"))
+            .to("direct:c")
+        .otherwise()
+            .to("direct:d");
 ----
 
-TIP: See 
xref:latest@manual:faq:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
-can I not use when or otherwise in a Java Camel route] if you have
-problems with the Java DSL, accepting using `when` or `otherwise`.
-
 And the same example using XML:
 
 [source,xml]
 ----
-<camelContext xmlns="http://camel.apache.org/schema/spring";>
-    <route>
-        <from uri="direct:a"/>
-        <choice>
-            <when>
-                <simple>${header.foo} == 'bar'</simple>
-                <to uri="direct:b"/>
-            </when>
-            <when>
-                <simple>${header.foo} == 'cheese'</simple>
-                <to uri="direct:c"/>
-            </when>
-            <otherwise>
-                <to uri="direct:d"/>
-            </otherwise>
-        </choice>
-    </route>
-</camelContext>
+<route>
+    <from uri="direct:a"/>
+    <choice>
+        <when>
+            <simple>${header.foo} == 'bar'</simple>
+            <to uri="direct:b"/>
+        </when>
+        <when>
+            <simple>${header.foo} == 'cheese'</simple>
+            <to uri="direct:c"/>
+        </when>
+        <otherwise>
+            <to uri="direct:d"/>
+        </otherwise>
+    </choice>
+</route>
 ----
-
-[[MessageRouter-Choicewithoutotherwise]]
-== Choice without otherwise
-
-If you use a `choice` without adding an `otherwise`, any unmatched
-exchanges will be dropped by default.
-

Reply via email to