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

commit b0107a797a7e6aa511bf01125d21ae7215897594
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Jun 25 08:05:14 2026 +0200

    chore: reorganize EIP index page with better categories and missing EIPs
    
    Reorganizes the EIP documentation index page from 7 to 13 sections,
    adding 35 previously missing EIP pages (load balancer strategies,
    set/remove/convert operations, marshal/unmarshal, enrich/poll,
    from/to/toD, bean, process, onFallback, rollback). Breaks the
    overloaded "Message Routing" section (24 entries) into focused
    groups: Message Routing, Load Balancing Strategies, Splitting and
    Aggregation, Flow Control, and Error Handling and Resilience.
    Removes the outdated Visio/stencils download section.
    
    Co-Authored-By: Claude <[email protected]>
    Signed-off-by: Claus Ibsen <[email protected]>
---
 .../pages/enterprise-integration-patterns.adoc     | 255 +++++++++++++++------
 1 file changed, 187 insertions(+), 68 deletions(-)

diff --git 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/enterprise-integration-patterns.adoc
 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/enterprise-integration-patterns.adoc
index 7c001221a419..66cf7ce31e6d 100644
--- 
a/core/camel-core-engine/src/main/docs/modules/eips/pages/enterprise-integration-patterns.adoc
+++ 
b/core/camel-core-engine/src/main/docs/modules/eips/pages/enterprise-integration-patterns.adoc
@@ -66,7 +66,7 @@ application to the messaging system so that it can send and 
receive messages?
 
 a|image::eip/MessagingBridgeIcon.gif[image]
 |xref:messaging-bridge.adoc[Messaging Bridge] |How can multiple messaging 
systems
-be connected so that messages available on one are also available on the 
others??
+be connected so that messages available on one are also available on the 
others?
 
 a|image::eip/MessageBusIcon.gif[image]
 |xref:message-bus.adoc[Message Bus] |What is an architecture that
@@ -75,7 +75,7 @@ fashion such that applications can be easily added or removed 
without
 affecting the others?
 
 a|image::eip/MessagingBridgeIcon.gif[image]
-|xref:change-data-capture.adoc[Change Data Capture] | Data synchronization by 
capturing
+|xref:change-data-capture.adoc[Change Data Capture] |Data synchronization by 
capturing
 changes made to a database, and apply those changes to another system.
 |===
 
@@ -103,7 +103,6 @@ for?
 a|image::eip/MessageExpirationIcon.gif[image]
 |xref:message-expiration.adoc[Message Expiration] |How can a sender indicate
 when a message should be considered stale and thus shouldn't be processed?
-
 |===
 
 == Message Routing
@@ -128,31 +127,6 @@ a|image::eip/RecipientListIcon.gif[image]
 |xref:recipientList-eip.adoc[Recipient List] |How do we route a message to
 a list of (static or dynamically) specified recipients?
 
-a|image::eip/SplitterIcon.gif[image]
-|xref:split-eip.adoc[Splitter] |How can we process a message if it
-contains multiple elements, each of which may have to be processed in a
-different way?
-
-a|image::eip/AggregatorIcon.gif[image]
-|xref:aggregate-eip.adoc[Aggregator] |How do we combine the results of
-individual, but related, messages so that they can be processed as a
-whole?
-
-a|image::eip/ResequencerIcon.gif[image]
-|xref:resequence-eip.adoc[Resequencer] |How can we get a stream of related
-but out-of-sequence messages back into the correct order?
-
-a|image::eip/DistributionAggregateIcon.gif[image]
-|xref:composed-message-processor.adoc[Composed Message Processor] |How
-can you maintain the overall message flow when processing a message
-consisting of multiple elements, each of which may require different
-processing?
-
-a|image::eip/DistributionAggregateIcon.gif[image]
-|xref:scatter-gather.adoc[Scatter-Gather] |How do you maintain the
-overall message flow when a message needs to be sent to multiple
-recipients, each of which may send a reply?
-
 a|image::eip/RoutingTableIcon.gif[image]
 |xref:routingSlip-eip.adoc[Routing Slip] |How do we route a message
 consecutively through a series of processing steps when the sequence of
@@ -168,49 +142,76 @@ a|image::eip/MessageBrokerIcon.gif[image]
 destination of a message from the sender and maintain central control
 over the flow of messages?
 
-a|image::eip/MessagingAdapterIcon.gif[image]
-|xref:threads-eip.adoc[Threads] |How can I decouple the continued routing
-of a message from the current thread?
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:multicast-eip.adoc[Multicast] |How can I route a message to a number
+of endpoints at the same time?
+
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:loadBalance-eip.adoc[Load Balancer] |How can I balance load across a
+number of endpoints?
 
 a|image::eip/MessagingAdapterIcon.gif[image]
-|xref:throttle-eip.adoc[Throttler] |How can I throttle messages to ensure
-that a specific endpoint does not get overloaded, or we don't exceed an
-agreed SLA with some external service?
+|xref:kamelet-eip.adoc[Kamelet] |How can I call Kamelets (route templates)?
 
 a|image::eip/WireTap.gif[image]
 |xref:sample-eip.adoc[Sampling] |How can I sample one message out of many
 in a given period to avoid downstream route does not get overloaded?
+|===
 
-a|image::eip/MessagingAdapterIcon.gif[image]
-|xref:kamelet-eip.adoc[Kamelet] | How can I call Kamelets (route templates)?
-
-a|image::eip/MessageExpirationIcon.gif[image]
-|xref:delay-eip.adoc[Delayer] |How can I delay the sending of a message?
+== Load Balancing Strategies
 
+[width="100%",cols="10%,10%,80%",]
+|===
 a|image::eip/MessageDispatcherIcon.gif[image]
-|xref:loadBalance-eip.adoc[Load Balancer] |How can I balance load across a
-number of endpoints?
+|xref:failoverLoadBalancer-eip.adoc[Failover Load Balancer] |Tries the next 
endpoint in case of failure.
 
 a|image::eip/MessageDispatcherIcon.gif[image]
-|xref:circuitBreaker-eip.adoc[Circuit Breaker] |How can I stop calling an 
external service if the service is broken?
+|xref:roundRobinLoadBalancer-eip.adoc[Round Robin Load Balancer] |Distributes 
messages across endpoints in a round robin fashion.
 
-a|image::eip/MessageExpirationIcon.gif[image]
-|xref:stop-eip.adoc[Stop] |How can I stop to continue routing a message?
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:randomLoadBalancer-eip.adoc[Random Load Balancer] |Distributes messages 
across endpoints randomly.
 
-a|image::eip/MessageExpirationIcon.gif[image]
-|xref:throwException-eip.adoc[Throw Exception] |How can I throw an exception 
during routing?
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:weightedLoadBalancer-eip.adoc[Weighted Load Balancer] |Distributes 
messages across endpoints using weighted ratios.
 
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:stickyLoadBalancer-eip.adoc[Sticky Load Balancer] |Routes messages to 
the same endpoint based on a correlation expression.
 
-a|image::eip/TransactionalClientIcon.gif[image]
-|xref:saga-eip.adoc[Saga] |How can I define a series of related actions in a 
Camel route
-that should be either completed successfully (all of them) or 
not-executed/compensated?
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:topicLoadBalancer-eip.adoc[Topic Load Balancer] |Sends the message to 
all endpoints (like a topic).
 
 a|image::eip/MessageDispatcherIcon.gif[image]
-|xref:multicast-eip.adoc[Multicast] |How can I route a message to a number
-of endpoints at the same time?
+|xref:customLoadBalancer-eip.adoc[Custom Load Balancer] |Uses a custom load 
balancing implementation.
+|===
 
-a|image::eip/PollingConsumerIcon.gif[image]
-|xref:loop-eip.adoc[Loop] |How can I repeat processing a message in a loop?
+== Splitting and Aggregation
+
+[width="100%",cols="10%,10%,80%",]
+|===
+a|image::eip/SplitterIcon.gif[image]
+|xref:split-eip.adoc[Splitter] |How can we process a message if it
+contains multiple elements, each of which may have to be processed in a
+different way?
+
+a|image::eip/AggregatorIcon.gif[image]
+|xref:aggregate-eip.adoc[Aggregator] |How do we combine the results of
+individual, but related, messages so that they can be processed as a
+whole?
+
+a|image::eip/ResequencerIcon.gif[image]
+|xref:resequence-eip.adoc[Resequencer] |How can we get a stream of related
+but out-of-sequence messages back into the correct order?
+
+a|image::eip/DistributionAggregateIcon.gif[image]
+|xref:composed-message-processor.adoc[Composed Message Processor] |How
+can you maintain the overall message flow when processing a message
+consisting of multiple elements, each of which may require different
+processing?
+
+a|image::eip/DistributionAggregateIcon.gif[image]
+|xref:scatter-gather.adoc[Scatter-Gather] |How do you maintain the
+overall message flow when a message needs to be sent to multiple
+recipients, each of which may send a reply?
 |===
 
 == Message Transformation
@@ -222,6 +223,15 @@ a|image::eip/DataEnricherIcon.gif[image]
 with another system if the message originator does not have all the
 required data items available?
 
+a|image::eip/DataEnricherIcon.gif[image]
+|xref:enrich-eip.adoc[Enrich] |Enriches the message with data from a secondary 
resource using a request-reply pattern.
+
+a|image::eip/DataEnricherIcon.gif[image]
+|xref:pollEnrich-eip.adoc[Poll Enrich] |Enriches the message with data 
obtained by polling a consumer endpoint.
+
+a|image::eip/DataEnricherIcon.gif[image]
+|xref:poll-eip.adoc[Poll] |Polls a message from an endpoint for later use in 
the routing.
+
 a|image::eip/ContentFilterIcon.gif[image]
 |xref:content-filter-eip.adoc[Content Filter] |How do you simplify dealing
 with a large message when you are interested only in a few data items?
@@ -245,11 +255,89 @@ a|image::eip/MessageSelectorIcon.gif[image]
 |xref:validate-eip.adoc[Validate] |How can I validate a message?
 |===
 
-== Messaging Endpoints
+== Message Data Manipulation
 
 [width="100%",cols="10%,10%,80%",]
 |===
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:setBody-eip.adoc[Set Body] |Sets the message body to the result of an 
expression.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:setHeader-eip.adoc[Set Header] |Sets a single message header to the 
result of an expression.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:setHeaders-eip.adoc[Set Headers] |Sets multiple message headers at the 
same time.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:setProperty-eip.adoc[Set Property] |Sets an exchange property to the 
result of an expression.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:setVariable-eip.adoc[Set Variable] |Sets a variable to the result of an 
expression.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:setVariables-eip.adoc[Set Variables] |Sets multiple variables at the 
same time.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:removeHeader-eip.adoc[Remove Header] |Removes a single message header by 
name.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:removeHeaders-eip.adoc[Remove Headers] |Removes message headers matching 
a pattern.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:removeProperty-eip.adoc[Remove Property] |Removes a single exchange 
property by name.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:removeProperties-eip.adoc[Remove Properties] |Removes exchange 
properties matching a pattern.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:removeVariable-eip.adoc[Remove Variable] |Removes a variable by name.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:convertBodyTo-eip.adoc[Convert Body To] |Converts the message body to 
another type.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:convertHeaderTo-eip.adoc[Convert Header To] |Converts a message header 
to another type.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:convertVariableTo-eip.adoc[Convert Variable To] |Converts a variable to 
another type.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:transform-eip.adoc[Transform] |Transforms the message body based on an 
expression and stops further routing.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:transformDataType-eip.adoc[Transform Data Type] |Transforms the message 
between named data types.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:marshal-eip.adoc[Marshal] |Marshals the message body into a binary or 
textual format using a data format.
+
+a|image::eip/MessageTranslatorIcon.gif[image]
+|xref:unmarshal-eip.adoc[Unmarshal] |Unmarshals the message body from a binary 
or textual format using a data format.
+|===
+
+== Endpoints and Invocation
+
+[width="100%",cols="10%,10%,80%",]
+|===
+a|image::eip/MessageEndpointIcon.gif[image]
+|xref:from-eip.adoc[From] |Defines the consumer endpoint that acts as the 
input source for a route.
+
+a|image::eip/MessageEndpointIcon.gif[image]
+|xref:to-eip.adoc[To] |Sends the message to a fixed endpoint URI.
+
+a|image::eip/MessageEndpointIcon.gif[image]
+|xref:toD-eip.adoc[To D] |Sends the message to an endpoint URI computed 
dynamically from an expression.
+
+a|image::eip/MessagingAdapterIcon.gif[image]
+|xref:bean-eip.adoc[Bean] |Invokes a method on a Java bean with automatic 
parameter binding.
+
+a|image::eip/MessagingAdapterIcon.gif[image]
+|xref:process-eip.adoc[Process] |Invokes a custom Camel Processor for 
programmatic message processing.
+|===
+
+== Messaging Endpoints
 
+[width="100%",cols="10%,10%,80%",]
+|===
 a|image::eip/MessageTranslatorIcon.gif[image]
 |xref:messaging-mapper.adoc[Messaging Mapper] |How do you move data
 between domain objects and the messaging infrastructure while keeping
@@ -301,6 +389,50 @@ design a service to be invoked both via various messaging 
technologies
 and via non-messaging techniques?
 |===
 
+== Flow Control
+
+[width="100%",cols="10%,10%,80%",]
+|===
+a|image::eip/MessagingAdapterIcon.gif[image]
+|xref:throttle-eip.adoc[Throttler] |How can I throttle messages to ensure
+that a specific endpoint does not get overloaded, or we don't exceed an
+agreed SLA with some external service?
+
+a|image::eip/MessageExpirationIcon.gif[image]
+|xref:delay-eip.adoc[Delayer] |How can I delay the sending of a message?
+
+a|image::eip/PollingConsumerIcon.gif[image]
+|xref:loop-eip.adoc[Loop] |How can I repeat processing a message in a loop?
+
+a|image::eip/MessageExpirationIcon.gif[image]
+|xref:stop-eip.adoc[Stop] |How can I stop to continue routing a message?
+
+a|image::eip/MessagingAdapterIcon.gif[image]
+|xref:threads-eip.adoc[Threads] |How can I decouple the continued routing
+of a message from the current thread?
+|===
+
+== Error Handling and Resilience
+
+[width="100%",cols="10%,10%,80%",]
+|===
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:circuitBreaker-eip.adoc[Circuit Breaker] |How can I stop calling an 
external service if the service is broken?
+
+a|image::eip/MessageDispatcherIcon.gif[image]
+|xref:onFallback-eip.adoc[On Fallback] |Defines the fallback route that 
executes when the Circuit Breaker trips or the primary route fails.
+
+a|image::eip/TransactionalClientIcon.gif[image]
+|xref:saga-eip.adoc[Saga] |How can I define a series of related actions in a 
Camel route
+that should be either completed successfully (all of them) or 
not-executed/compensated?
+
+a|image::eip/MessageExpirationIcon.gif[image]
+|xref:throwException-eip.adoc[Throw Exception] |How can I throw an exception 
during routing?
+
+a|image::eip/TransactionalClientIcon.gif[image]
+|xref:rollback-eip.adoc[Rollback] |Marks the current exchange for rollback, 
typically used with transactions.
+|===
+
 == System Management
 
 [width="100%",cols="10%,10%,80%",]
@@ -327,18 +459,5 @@ a|image::eip/ControlBusIcon.gif[image]
 |xref:log-eip.adoc[Log] |How can I log processing a message?
 
 a|image::eip/RoutingTableIcon.gif[image]
-|xref:step-eip.adoc[Step] | Groups together a set of EIPs into a composite 
logical unit for metrics and monitoring. |
-
+|xref:step-eip.adoc[Step] |Groups together a set of EIPs into a composite 
logical unit for metrics and monitoring.
 |===
-
-== EIP Icons
-
-The EIP icons library is available as a Visio stencil file adapted to
-render the icons with the Camel color. Download it
-xref:attachment$Hohpe_EIP_camel_20150622.zip[here]
-for your presentation, functional and technical analysis documents.
-
-The original EIP stencil is also available in
-xref:attachment$Hohpe_EIP_camel_OpenOffice.zip[OpenOffice 3.x Draw],
-http://www.eaipatterns.com/download/EIP_Visio_stencil.zip[Microsoft Visio],
-or http://www.graffletopia.com/stencils/137[Omnigraffle].

Reply via email to