# Enterprise Integration Pattern Reference

Table of Contents

Route Editor Patterns
Endpoints
  Endpoint — Act as either a message source or a message sink
  Bean — Binds a bean to Camel message exchanges
  Log — Creates log messages using the Simple language
  Process — Process the message using a custom processor
Routing
  Aggregate — Aggregates many messages into a single message
  Choice — Routes messages based on a series of predicates
  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
  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
  Sort — Sorts the contents of the message
  Split — Sorts the contents of the message
  When — Triggers a route when an expression evaluates to true
  Wire Tap — Routes a copy of a message to a secondary destination while passing the original message to the actual recipient, or it creates a new message and passes that to the recipient.
Control Flow
  Catch — Catches exceptions as part of a try, catch, finally block
  Delay — Delays processing for a specified length of time
  Finally — Node traversed when a try, catch, finally block exits
  Intercept — Intercepts a message at each step in the route
  Intercept From — Intercepts incoming messages
  Intercept Send To Endpoint — Intercepts messages sent to an endpoint
  Loop — Processes a message multiple times
  On Completion — Route to be executed when normal route processing completes
  On Exception — Route to be executed when an exception is thrown
  Rollback — Forces a rollback of a route
  Throttle — Controls the rate at which messages are passed to the next node in the route
  Throw Exception — Throws an exception
  Transacted — Marks a route as a transaction
  Try — Marks the beginning of a Try, Catch, Finally block
Transformation
  Convert Body — Converts the message body to a form usable by the next endpoint
  Enrich — Enriches a message with data from a secondary resource
  In Only — Marks the exchange pattern for the route to one way (Event Message pattern)
  In Out — Marks the exchange pattern for the route to request/reply
  Marshal — Marshals data into a specified format for transmission over a transport or component
  Poll Enrich — Enriches messages with data retrieved from a polling consumer
  Remove Header — Removes a named header from the message
  Remove Headers — Removes message headers whose name matches a specified pattern
  Remove Property — Removes a named property from the message exchange
  Set Body — Sets the contents of the message body
  Set Exchange Pattern — Sets the exchange pattern for the route
  Set Fault Body — Sets the contents of a fault message's body
  Set Header — Sets the value of a message header
  Set Out Header — Sets the value of a header on the outbound message
  Set Property — Sets a named property on the message exchange
  Transform — Transforms the message based on an expression
  Unmarshal — Converts the message data received from the wire into a format that Apache Camel processors can consume
Miscellaneous
  AOP — Does processing before and/or after the route is completed
  Policy — Defines a policy the route will use
  Sampling — Extract a sample of the exchanges passing through a route
  Stop — Stops the processing of the current message
  Threads — Specifies that all steps after this node are processed asynchronously
  Validate — Validates a message based on an expression
Route Icon