Route Editor Patterns

Endpoints

Table 1 lists the endpoint patterns available from the route editor's palette.

Table 1. Endpoints

IconNameUse
Endpoint Acts as either a message source or message sink
Bean Binds beans to Camel message exchanges
Log Creates log messages using the Simple language
Process Process the message using a custom processor

Routing

Table 2 describe the routing patterns available from the route editor palette.

Table 2. Message Routing

IconNameUse
Aggregate Aggregates many messages into a single message
Choice Routes messages based on a series of predicates. (This is one of three components that make up a content-based router.)
Dynamic Router Routes messages based on rules specified by the recipients at start up
Filter Filters messages before passing them to a resource
Idempotent Consumer Filters out duplicate messages
Load Balance Balances message processing among a number of nodes
Multicast Routes a message to a number of endpoints
Otherwise Route to be executed when all other choices evaluate to false. (This is one of three components that make up a content-based router.)
Pipeline Executes a sequence of processors in order
Recipient List Routes messages to a number of dynamically specified recipients
Resequence Resequences messages based on an expression
Routing Slip Routes a message through a series of steps that are determined at runtime
SortSorts the contents of the message
Split Splits a message into pieces that can processed separately
When Triggers a route when an expression evaluates to true. (This is one of three components that make up a content-based router.)
Wire Tap Routes a copy of a message to a secondary destination while passing the original message to the actual recipient

Control flow

Table 3 describes the control flow patterns available from the route editor palette.

Table 3. Control flow

IconNameUse
CatchCatches exceptions as part of a try, catch, finally block
DelayDelays processing for a set length of time
FinallyNode traversed when a try, catch, finally block exits
InterceptIntercepts messages at each step in the message flow
Intercept FromIntercepts incoming messages
Intercept Send to EndpointIntercepts messages sent to a specified endpoint
LoopProcesses a message multiple times
On CompletionRoute to be executed when normal route processing completes
On ExceptionRoute to be executed when an exception is thrown
RollbackForces a rollback of a transacted route by throwing RollbackExchangeException
ThrottleControls the number of messages passed to the next node in a given time period
Throw ExceptionThrows an exception
TransactedMarks route as a transaction
TryMarks the beginning of a try, catch, finally block

Transformation

Table 4 describes the transformation patterns available from the route editor palette.

Table 4. Transformation

IconNameUse Case
Convert BodyConverts the message body to a form usable by the next endpoint
EnrichEnriches a message with data retrieved by a producer from a secondary resource
InOnlyOne way exchange pattern where no response is produced (Event Message pattern)
InOutExchange pattern where a response is produced
MarshalMarshals data into a format for transmission over a transport or component
Poll EnrichEnriches messages with data retrieved from a polling consumer
Remove HeaderRemoves a named header from the message
Remove HeadersRemoves message headers whose name matches a specified pattern
Remove PropertyRemoves a named property from the message exchange
Set BodySets the contents of the message body
Set Exchange PatternSets the exchange pattern for the route
Set HeaderSets the value of a message header
Set Out HeaderSets the value of a header on the outbound message
Set PropertySets a named property on the message exchange
TransformTransforms the message based on an expression
UnmarshalConverts the message data from the wire into a bean that Apache Camel processors can consume

Miscellaneous

Table 5 describes the patterns on the Miscellaneous section of the palette.

Table 5. Miscellaneous

IconNameUse
AOPDoes processing before and after the route is completed. (This pattern is deprecated in Apache Camel.)
PolicyDefines a policy the route will use
SamplingExtract a sample of the exchanges passing through a route
StopStops processing of the current message
ThreadsSpecifies that all steps after this node are processed asynchronously
ValidateValidates a message based on an expression