Version 2.1
Copyright © 2012 FuseSource Corp. All rights reserved.
Updated: 09 Oct 2012
Table of Contents
List of Figures
List of Tables
Table 1.1 lists the endpoint patterns available from the route editor's palette.
Table 1.2 describe the routing patterns available from the route editor palette.
Table 1.2. Message Routing
| Icon | Name | Use |
|---|---|---|
| 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 |
| Sort | Sorts 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 |
Table 1.3 describes the control flow patterns available from the route editor palette.
Table 1.3. Control flow
| Icon | Name | Use |
|---|---|---|
| Catch | Catches exceptions as part of a try,
catch, finally block |
| Delay | Delays processing for a set length of time |
| Finally | Node traversed when a try,
catch, finally block
exits |
| Intercept | Intercepts messages at each step in the message flow |
| Intercept From | Intercepts incoming messages |
| Intercept Send to Endpoint | Intercepts messages sent to a specified 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 transacted route by throwing
RollbackExchangeException |
| Throttle | Controls the number of messages passed to the next node in a given time period |
| Throw Exception | Throws an exception |
| Transacted | Marks route as a transaction |
| Try | Marks the beginning of a try,
catch, finally block |
Table 1.4 describes the transformation patterns available from the route editor palette.
Table 1.4. Transformation
| Icon | Name | Use Case |
|---|---|---|
| Convert Body | Converts the message body to a form usable by the next endpoint |
| Enrich | Enriches a message with data retrieved by a producer from a secondary resource |
| InOnly | One way exchange pattern where no response is produced (Event Message pattern) |
| InOut | Exchange pattern where a response is produced |
| Marshal | Marshals data into a 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 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 from the wire into a bean that Apache Camel processors can consume |
Table 1.5 describes the patterns on the Miscellaneous section of the palette.
Table 1.5. Miscellaneous
| Icon | Name | Use |
|---|---|---|
| AOP | Does processing before and after the route is completed. (This pattern is deprecated in Apache Camel.) |
| Policy | Defines a policy the route will use |
| Sampling | Extract a sample of the exchanges passing through a route |
| Stop | Stops processing of the current message |
| Threads | Specifies that all steps after this node are processed asynchronously |
| Validate | Validates a message based on an expression |
Endpoint — Act as either a message source or a message sink
Endpoints can be placed at any point along a route. A route must start with an endpoint and typically finishes with an endpoint.
Table 2.1 describes the properties you can specify using the properties editor.
Table 2.1. Endpoint Properties
| Name | Description |
|---|---|
| Uri | Specifies the URI for the endpoint. The URI determines the type of component used to read or send message data. For more information see Table of Components in Component Reference. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Bean — Binds a bean to Camel message exchanges
Table 2.2 describes the properties you can specify using the properties editor.
Table 2.2. Bean Properties
| Name | Description |
|---|---|
| Bean Name | Specifies the name of the bean, from the Apache Camel configuration file, that
will process the message. This property corresponds to the
ref attribute in the XML source. |
| Bean Type | Specifies the type of the bean. |
| Method | Specifies the method to invoke on the bean. If no value is provided Apache Camel
will attempt to determine the method to invoke. If no method can be determined a
AmbiguousMethodCallException exception is
thrown. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Log — Creates log messages using the Simple language
The Log pattern uses a simple language expression to write messages to the log. Messages
are logged at INFO level.
The Log pattern can be placed anywhere in the body of a route.
Table 2.3 describes the properties you can specify using the properties editor.
Table 2.3. Log Properties
| Name | Description |
|---|---|
| Message | Specifies a Simple language expression that defines the log message. |
| Marker | Specifies the name of an optional marker used to enrich logging messages. Conforming SLF4J logging implementations determine how the information conveyed by markers is used. |
| Log Name | Specifies the name of the log into which messages are written. |
| Logging Level | Specifies the logging level at which the message is recorded.
|
| Id | Specifies a unique identifier for the log. The Id can be used to refer to the log in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Process — Process the message using a custom processor
The Process pattern is used to insert custom message processors into a route.
The Process pattern can be placed anywhere in the body of a route.
Table 2.4 describes the properties you can specify using the properties editor.
Table 2.4. Process Properties
| Name | Description |
|---|---|
| Ref | Specifies the name of the bean, from the Camel XML file, that will process the message. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Aggregate — Aggregates many messages into a single message
The Aggregate pattern uses an expression to determine which messages to aggregate into a single message. Messages that match the expression are held until they combined by the specified aggregation strategy bean.
The Aggregate pattern can be placed anywhere in the body of a route.
Table 3.1 describes the properties you can specify using the properties editor.
Table 3.1. Aggregate Properties
| Name | Description |
|---|---|
| Correlation Expression | Specifies the expression used to correlate the messages that are aggregated. |
| language | Specifies the expression language used to process the correlation expression. |
| Completion Size Expression | Specifies an expression used to determine when aggregation is complete based on the number of exchanges processed. |
| language | Specifies the expression language used to process the completion size expression. |
| Completion Predicate | Specifies the expression used to determine when the aggregated message is complete based on it's contents. |
| language | Specifies the expression language used to process the completion predicate expression. |
| Completion Timeout Expression | Specifies an expression used to determine when aggregation is complete based on the amount of time, in milliseconds, the aggregator has been inactive. |
| language | Specifies the expression language used to process the completion timeout expression. |
| Strategy Ref | Specifies a reference for looking up the
AggregationStrategy in the registry. |
| Close Correlation Key On Completion | Specifies the number of closed correlation keys stored in the cache used to determine if an exchange should be accepted. |
| Completion Timeout | Specifies the amount of time, in milliseconds, the aggregator must be inactive to complete an aggregated message. The property cannot be used with Completion Interval. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Timeout Checker Executor Service Ref | Specifies a reference for looking up the
timeoutExecutorService to use for custom thread pool
management when using one of the options: Completion Timeout, Completion Timeout
Expression, or Completion Interval. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for thread pool management
when using the Parallel Processing option or when sending out aggregated
exchanges. |
| Force Completion On Stop | Specifies whether to complete all aggregated exchanges currently in route when
the routing context is stopped. The default is Disabled. |
| Completion Interval | Specifies an interval of time, in milliseconds, after which the aggregator completes any in process aggregate messages. This property cannot be used with Completion Timeout. |
| Ignore Invalid Correlation Keys | Specifies whether the aggregator ignores invalid correlation keys. The default is
Disabled, which causes the aggregator to throw an exception when it encounters an
invalid correlation key. |
| Aggregation Repository Ref | Specifies a reference for looking up a custom
AggregationRepository in the registry. The
AggregationRepository stores the messages while they
are being aggregated (held). |
| Discard On Completion Timeout | Specifies whether aggregates that are completed due to a timeout, in
milliseconds, are discarded. The default is
Disabled. |
| Completion From Batch Consumer | Specifies whether aggregates can be completed based on information from a batch
consumer. The default is Disabled. |
| Completion Size | Specifies the number of exchanges the aggregator processes before marking the aggregated message complete. |
| Eager Check Completion | Specifies whether the aggregator determines completion by eagerly checking the
data as exchanges are received or by checking the data after it's been aggregated into
a single exchange. The default is This property works in conjunction with and influences the behavior of the Completion Predicate property. |
| Group Exchanges | Specifies whether the aggregator groups all outgoing exchanges into a single
GroupedExchange object. The default is Disabled. |
| Parallel Processing | Specifies whether the aggregator processes multiple messages concurrently. The
default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Choice — Routes messages based on a series of predicates
The Choice pattern is the entry to a content based router. It does not do any processing. The routing decisions are left up to When patterns.
The Choice pattern can be placed anywhere in the route body. It must be followed by one or more When patterns and a single Otherwise pattern.
Table 3.2 describes the properties you can specify using the properties editor.
Table 3.2. Choice Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Dynamic Router — Routes messages based on rules specified by the recipients at start up
The Dynamic Router pattern uses an expression to determine how to route messages. As each
processor completes, the expression is evaluated to determine the next location. The route
completes when the expression evaluates to null.
![]() | Important |
|---|---|
The Dynamic Router's expression must be able to evaluate to |
The Dynamic Router pattern can be used anywhere in the body of a route.
Table 3.3 describes the properties you can specify using the properties editor.
Table 3.3. Dynamic Router Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to determine the next processing step in the chain.
The expression must evaluate to null for the route to
complete. |
| language | Specifies the expression language used to process the expression. |
| Ignore Invalid Endpoints | Specifies whether router will skip steps that are invalid without throwing an
exception. The default is Disabled. |
| Uri Delimiter | Specifies a delimiter to separate the list of endpoint URIs the router generates. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Filter — Filters messages before passing them to a resource
The Filter pattern removes unwanted messages from the route based on an expression.
The Filter pattern can appear anywhere in the body of a route.
Table 3.4 describes the properties you can specify using the properties editor.
Table 3.4. Filter Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to determine if the message is to be filtered from the route. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Idempotent Consumer — Filters out duplicate messages
The Idempotent Consumer pattern uses an expression to generate message IDs. The IDs are used to filter duplicate messages. When a duplicate is detected it is consumed.
The Idempotent Consumer pattern can be placed anywhere along the body of a route.
Table 3.5 describes the properties you can specify using the properties editor.
Table 3.5. Idempotent Consumer Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to generate message IDs. |
| language | Specifies the expression language used to process the expression. |
| Remove On Failure | Specifies whether to remove the ID of a failed exchange. The default is Disabled. |
| Message Id Repository Ref | Specifies a reference to the implementation of
IdempotentRepository used to store the message
IDs. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Eager | Specifies whether messages are eagerly added to the repository before the
exchange finishes processing. If so, the route can identify duplicates while exchanges
are still being processed. The default is Enabled. |
| Skip Duplicate | Specifies whether to skip duplicate messages. The default is
Enabled. When disabled, a duplicate message continues
through the node, but the exchange is marked a duplicate. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Load Balance — Balances message processing among a number of nodes
The Load Balance pattern uses a specified algorithm for balancing the processing load among a number of processors.
The Load Balance pattern can appear anywhere in the body of a route. It should be connected to one or more identical processors accross which processing can be spread.
Table 3.6 describes the properties you can specify using the properties editor.
Table 3.6. Load Balance Properties
| Name | Description |
|---|---|
| Ref | Deprecated Specifies a reference to the bean implementing the load balancing strategy. |
| Load Balancer Type |
Specifies and configures the load balancing strategy. Selections include:
|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Table 3.7 describes the properties needed to configure a failover load balancer.
Table 3.7. Failover Load Balance Properties
| Name | Description |
|---|---|
| Exceptions | Specifies the exceptions that cause a failover. All other exceptions will cause a failure. |
| Maximum Failover Attempts | Specifies the maximum number of attempts before giving up.
-1 specifies unlimited attempts. |
Table 3.8 describes the properties needed to configure a custom load balancer.
Table 3.8. Custom Load Balance Properties
| Name | Description |
|---|---|
| Ref | Specifies a reference to the bean implementing the load balancing strategy. |
Table 3.9 describes the properties needed to configure a sticky load balancer.
Table 3.9. Sticky Load Balance Properties
| Name | Description |
|---|---|
| Correlation Expression | Specifies the expression used to generate the correlation key used by the load blancer. |
Table 3.10 describes the properties needed to configure a Weighted load balancer.
Table 3.10. Weighted Load Balance Properties
| Name | Description |
|---|---|
| Distribution Ratio | Specifies a delimited list of positive integers determining the relative weight for each endpoint. The number of entries in the list must match the number of endpoints available for load balancing. |
| Distribution Ratio Delimiter | Specifies the character used to delimit the entries in the distribution ratio list. |
Multicast — Routes a message to a number of endpoints
The Multicast pattern shallow copies the original exchange and routes the copies to multiple endpoints, without modifying the message. Each endpoint gets a copy of the same message. If the route's exchange pattern is in-out, the Multicast pattern aggregates the responses into a single message.
The Multicast pattern can appear at any point in the body of a route. It must be followed by two or more destinations.
Table 3.11 describes the properties you can specify using the properties editor.
Table 3.11. Multicast Properties
| Name | Description |
|---|---|
| Timeout | Specifies the amount of time, in milliseconds, the node will attempt to deliver a message before timing out. |
| Streaming | Specifies whether multicast operates in streaming mode. The default is Disabled. |
| On Prepare Ref | Specifies a reference to a bean implementing a custom This property enables you to deep clone mutable message bodies, so each destination gets a separate copy of the entire exchange. You can use this property to execute any kind of logic on a message exchange. |
| Parallel Processing | Specifies whether the multicast messages are forwarded to multiple destinations
concurrently. The default is Disabled. |
| Stop On Exception | Specifies whether the node will stop all processing if one of the endpoints
receiving a message throws an exception. The default is Disabled. |
| Strategy Ref | Specifies a reference for looking up the
AggregationStrategy in the registry. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| Share Unit of Work | Specifies whether all of the resulting exchanges are considered a single
shared unit of work. The default is Disabled. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Otherwise — Route to be executed when all other choices evaluate to false
The Otherwise pattern is part of a content based router. It is the fall back path taken after all of the when patterns are not chosen.
The Otherwise pattern must come after a Choice pattern. It cannot be the last pattern in a route.
Table 3.12 describes the properties you can specify using the properties editor.
Table 3.12. Otherwise Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Pipeline — Executes a sequence of processors in order
The Pipeline pattern specifies that the patterns following it are to be executed in series. This is the default behavior of Apache Camel, but in some cases it is necessary to clarify the route description. For example, when using a Multicast router.
The Pipeline pattern can be placed anywhere in the body of a route.
Table 3.13 describes the properties you can specify using the properties editor.
Table 3.13. Pipeline Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies if the node should use the error handler configured for the route. The
default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Recipient List — Routes messages to a number of dynamically specified recipients
The Recipient List pattern sends a copy of the incoming message to a list of endpoints. The list of endpoints is dynamically generated at runtime.
The Recipient List pattern can appear anywhere in the body of a route. It must be followed by two or more destinations.
Table 3.14 describes the properties you can specify using the properties editor.
Table 3.14. Recipient List Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to generate the list of recipients. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Parallel Processing | Specifies whether the recipient list can send messages to multiple recipients
concurrently. The default is Disabled. |
| Timeout | Specifies the amount of time, in milliseconds, the node will attempt to deliver a message before timing out. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| Strategy Ref | Specifies a reference for looking up the
AggregationStrategy in the registry. |
| Share Unit of Work | Specifies whether all of the resulting exchanges are considered a single shared
unit of work. The default is Disabled. |
| Stop On Exception | Specifies whether the node will stop all processing if one of the endpoints
receiving a message throws an exception. The default is
Disabled. |
| Delimiter | Specifies a delimiter to separate the list of endpoint URIs in the generated recipient list. |
| Ignore Invalid Endpoints | Specifies whether router will skip steps that are invalid without throwing an
exception. The default is Disabled. |
| On Prepare Ref | Specifies a reference to a bean implementing a custom This property enables you to deep clone mutable message bodies, so each destination receives a separate copy of the entire exchange. You can use this property to execute any kind of logic on a message exchange. |
| Streaming | Specifies whether the recipient list works in streaming mode. The default is
Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Resequence — Resequences messages based on an expression
The Resequence pattern reorders messages according to a specified expression. It can be used in one of two modes:
batch—the resequencer collects the messages into a batch, resequences them and sends the batch to the target endpoint
stream—the resequencer looks for gaps in the message stream and resequences the messages between the gaps before sending them to the target endpoint
The Resequence pattern can be placed anywhere in the body of a route. It can only support a single output.
Table 3.15 describes the properties you can specify using the properties editor.
Table 3.15. Resequence Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to resequence the messages. |
| language | Specifies the expression language used to process the expression. |
| Resequencer Config |
Specifies the configuration for the resequencer:
Configure only one mode. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Table 3.16 describes the properties you can specify using the properties editor.
Table 3.16. batch-config Properties
| Name | Description |
|---|---|
| Batch Size | Specifies the number of messages to include in the batch. The default is
100. |
| Timeout | Specifies the amount of time, in milliseconds, the node will attempt to batch up
the messages before timing out. The default is 1000. |
| Ignore Invalid Exchanges | Specifies whether the resequencer ignores invalid exchanges, those for which it
cannot evaluate the specified expression. The default is
Disabled, which results in the resequencer throwing a
CamelExchangeException when it encounters an invalid exchange. |
Table 3.17 describes the properties you can specify using the properties editor.
Table 3.17. stream-config Properties
| Name | Description |
|---|---|
| Capacity | Specifies the maximum number of messages that can be stored in the node's memory while it waits to receive out-of-sequence messages. This property is used to prevent the node from running out of memory when it
detects gaps in the message stream. In general, when using a large timeout value,
set the capacity value sufficiently high to accommodate it (for example,
The default is |
| Ignore Invalid Exchanges | Specifies whether the resequencer ignores invalid exchanges, those for which it
cannot evaluate the specified expression. The default is
Disabled, which results in the resequencer throwing a
CamelExchangeException when it encounters an invalid exchange. |
| Timeout | Specifies the amount of time, in milliseconds, the node will wait to receive an out-of-sequence message before timing out. If you know the max time difference between successive messages in the stream, set the timeout to that value. Doing so guarantees that all messages in the stream will be delivered in the correct order to the next node in the route. The lower the timeout value compared to the out-of-sequence time difference, the greater the probability of out-of-sequence message delivery. The default is |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Routing Slip — Routes a message through a series of steps that are determined at runtime
The Routing Slip pattern enables you to route a message through a series of processing steps that are determined on the fly for each message. The sequence is determined using an expression.
The Routing Slip pattern can be placed anywhere in the body of a route. It should be followed by at least two steps.
Table 3.18 describes the properties you can specify using the properties editor.
Table 3.18. Routing Slip Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to generate the sequence of steps. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Ignore Invalid Endpoints | Specifies whether the router will skip steps that are invalid without throwing an
exception. The default is Disabled. |
| Uri Delimiter | Specifies a delimiter to separate the list of endpoint URIs in the generated sequence. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Sort — Sorts the contents of the message
The Sort pattern sorts the contents of a message using a sorting algorithm provided as an
expression or a Spring bean. The incoming message body must be convertible to a
java.lang.List.
The Sort pattern can be placed anywhere in the body of a route. It can only support a single output.
Table 3.19 describes the properties you can specify using the properties editor.
Table 3.19. Sort Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to sort the messages. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Comperator Ref | Specifies a reference to the bean that implements the sorting algorithm. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Split — Sorts the contents of the message
The Split pattern breaks a message into a number of smaller messages based on an expression. When used in routes whose exchange pattern is in-out, the Split pattern can either return a copy of the original message or use an aggregation strategy to recombine the responses into a reply.
Table 3.20 describes the properties you can specify using the properties editor.
Table 3.20. Split Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to split the message. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| On Prepare Ref | Specifies a reference to a bean implementing a custom This property enables you to deep clone mutable message bodies, so the splitter creates separate, self-contained fragments of the message. You can use this property to execute any kind of logic on a message exchange. |
| Timeout | Specifies the amount of time, in milliseconds, the node will attempt to deliver a message before timing out. |
| Share Unit of Work | Specifies whether all of the resulting exchanges are considered a single shared
unit of work. The default is Disabled. |
| Parallel Processing | Specifies whether the splitter can send messages to multiple destinations
concurrently. The default is Disabled. |
| Stop On Exception | Specifies whether the node will stop all processing if one of the endpoints
receiving a message throws an exception. The default is
Disabled. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| Strategy Ref | Specifies a reference for looking up the
AggregationStrategy in the registry. |
| Streaming | Specifies whether the splitter works in streaming mode. The default is
Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
When — Triggers a route when an expression evaluates to true
The When pattern is part of a content based router. It is used to determine if a path is to be followed by the message. The message is evaluated against the specified expression and if it evaluates to true the path is followed.
The When pattern must follow one of these patterns:
Choice
Intercept
Intercept Send To Endpoint
The When pattern can also be used with these patterns:
On Completion
On Exception
Table 3.21 describes the properties you can specify using the properties editor.
Table 3.21. When Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to determine if this path should be taken. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Intercept |
| Intercept Send To Endpoint |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
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.
The Wire Tap pattern has two modes of operation:
Tap mode—makes a shallow copy of the message exchange and directs the copy to a secondary location. The original exchange continues to the next step in the route.
New message mode—creates a new message exchange by setting the message body and setting one or more message headers. The new exchange is passed to the next step in the route.
The Wire Tap pattern can be placed anywhere in the route body.
Table 3.22 describes the properties you can specify using the properties editor.
Table 3.22. Wire Tap Properties
| Name | Description |
|---|---|
| New Exchange Expression | Specifies the expression used to determine the contents of the new message exchange. |
| language | Specifies the expression language used to process the expression. |
| Uri | Specifies the URI of the endpoint to which the copy is routed. See Table of Components in Component Reference for a list of valid URI patterns. |
| New Exchange Processor Ref | Specifies a reference to a bean implementing a message processor to process the original message before it is passed to the next step in the route. |
| On Prepare Ref | Specifies a reference to a bean implementing a custom This property enables you to deep clone mutable message bodies, preserving an entire exchange as a separate entity. You can use this property to execute any kind of logic on a message exchange. |
| Copy | Specifies whether the original message is copied into the new message. The
default is Enabled. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| Headers | Specifies one or more header settings for a new message. The Add button opens a dialog for adding a header to the table.
The Edit button opens the selected header for editing. The Delete button removes the selected header from the table. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Catch — Catches exceptions as part of a try, catch, finally block
The Catch pattern specifies a series of steps to take when the specified exception is thrown.
The Catch pattern can only occur following a try pattern. It must be followed by either a processor or an endpoint.
Table 4.1 describes the properties you can specify using the properties editor.
Table 4.1. Catch Properties
| Name | Description |
|---|---|
| Handled | Specifies an expression that determines if the exception is marked as
handled. The expression returns a boolean. If the expression evaluates to
any non-boolean value other than null it is evaluated as returning
true. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Exceptions | Specifies the list of exceptions caught. The button adds an entry typed in the field. The button removes the selected entry from the list. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML configuration file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Delay — Delays processing for a specified length of time
The Delay pattern delays message delivery for a period time determined by an expression.
The Delay pattern can appear anywhere in the body of a route.
Table 4.2 describes the properties you can specify using the properties editor.
Table 4.2. Delay Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to determine the length, in milliseconds, of the delay. |
| language | Specifies the expression language used to process the expression. |
| Caller Runs When Rejected | Specifies whether tasks rejected by the thread pool are executed by the calling
thread. The default is Disabled. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Async Delayed | Specifies whether processing tasks will be scheduled for processing at a later
time. The default is Disabled. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Finally — Node traversed when a try, catch, finally block exits
The Finally pattern specifies a series of steps to take when a Try, Catch, Finally block has completed.
The Finally pattern can only occur following a Try pattern. It must be followed by either a processor or an endpoint.
Table 4.3 describes the properties you can specify using the properties editor.
Table 4.3. Finally Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Intercept — Intercepts a message at each step in the route
The Intercept pattern specifies a series of processing steps that are applied to a message between each step in a route.
The Intercept pattern must be the first step in the route traversed by the intercepted messages.
Table 4.4 describes the properties you can specify using the properties editor.
Table 4.4. Intercept Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Intercept From — Intercepts incoming messages
The Intercept From pattern specifies a series of processing steps that are applied to
incoming messages before they enter the route. You can specify that only certain from
endpoints are targeted.
The Intercept From pattern must be the first step in the route traversed by the intercepted messages.
Table 4.5 describes the properties you can specify using the properties editor.
Table 4.5. Intercept From Properties
| Name | Description |
|---|---|
| Uri | Specifies the URI of the from endpoint being intercepted. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Intercept Send To Endpoint — Intercepts messages sent to an endpoint
The Intercept Send To Endpoint pattern specifies a series of processing steps that are applied to messages that are targeted for a specific endpoint.\
The Intercept Send To Endpoint pattern must be the first step in the route traversed by the intercepted messages.
Table 4.6 describes the properties you can specify using the properties editor.
Table 4.6. Intercept Send To Endpoint Properties
| Name | Description |
|---|---|
| Uri | Specifies the URI of the endpoint being intercepted. |
| Skip Send To Original Endpoint | Specifies whether the message is delivered to the intercepted endpoint. The
default is Disabled. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Loop — Processes a message multiple times
The Loop pattern executes a series of processing steps multiple times. The number of times the loop runs is controlled by an expression.
The Loop pattern can occur anywhere in the body of a route.
Table 4.7 describes the properties you can specify using the properties editor.
Table 4.7. Loop Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to determine the number of times the loop is executed. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the
route. The default is Disabled. |
| Copy | Specifies whether the original message is copied into a new message. The default is Enabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
On Completion — Route to be executed when normal route processing completes
The On Completion pattern defines a set of steps that are executed when normal route processing is completed. It can either be scoped local to a specific route or globally for all routes defined in the context.
![]() | Important |
|---|---|
Locally scoped On Completion patterns take precedent over globally scoped ones. Therefore, the globally scoped pattern will not be executed when a locally scoped On Completion pattern exists. |
When specifying a locally scoped On Completion pattern, the pattern directly follows the
from endpoint in the route.
When specifying a globally scoped On Completion pattern, the pattern starts a new route.
Table 4.8 describes the properties you can specify using the properties editor.
Table 4.8. On Completion Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| On Failure Only | Specifies whether the path will be taken only if message processing fails. Cannot
be enabled if On Complete Only is enabled. The default is
Disabled. |
| Use Original Message Policy | Specifies whether the message that began the route is placed in the dead letter
queue instead of the message that caused the exception. The default is
Disabled. |
| On Complete Only | Specifies whether the path will be taken only if message processing completes
successfully. Cannot be enabled if On Failure Only is enabled.
The default is Disabled.
|
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
On Exception — Route to be executed when an exception is thrown
The On Exception pattern defines a set of steps that are executed when an exception is thrown. It can be scoped either locally to a specific route or globally to all routes defined in the context.
![]() | Important |
|---|---|
Locally scoped On Exception patterns take precedent over globally scoped ones. Therefore, the globally scoped pattern will not be executed when a locally scoped On Exception exists. |
When specifying a locally scoped On Exception pattern, the pattern directly follows the
from endpoint in the route.
When specifying a globally scoped On Exception, the pattern starts a new route.
Table 4.9 describes the properties you can specify using the properties editor.
Table 4.9. On Exception Properties
| Name | Description |
|---|---|
| Continued | Specifies an expression that determines whether the exception is ignored and
processing of the original route continues after the onException route
completes.[a] |
| language | Specifies the expression language used to process the continued expression. |
| Retry While | Specifies an expression that determines if the message causing the exception
should be redelivered. The message is redelivered until the expression evaluates to
false.[a] |
| language | Specifies the expression language used to process the expression. |
| Handled | Specifies an expression that determines if the exception is marked as handled.[a] |
| language | Specifies the expression language used to process the expression. |
| Exceptions | Specifies the list of exceptions the node handles. The button adds an entry typed in the field. The button removes the selected entry from the list. |
| Redelivery Policy Ref | Specifies a reference to bean defining the redelivery policy. |
| On Redelivery Ref | Specifies a reference to a custom processor for processing the message before it is redelivered. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Use Original Message Policy | Specifies whether the message that began the route is placed in the dead letter
queue instead of the message that caused the exception. The default is
Disabled. |
| Redelivery Policy | Specifies how to handle failed deliveries. Redelivery options are listed in Table 4.10. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
[a] The expression is treated as returning a boolean. If the expression evaluates
to a non-boolean value other than | |
Table 4.10 describes the properties for configuring the redelivery policy.
Table 4.10. Redelivery Properties
| Name | Description |
|---|---|
| Async Delayed Redelivery | Specifies whether asynchronous delayed redelivery is used to scheduled redelivers
at a later time. When enabled, an asynchronous thread, rather than the current thread,
performs redelivery. This ensures that no thread is blocked waiting for a redelivery.
The default is false. |
| Back Off Multiplier |
Specifies the multiplier used to determine the redelivery delay if exponential
back-off is enabled. If d, m*d, m*m*d, m*m*m*d, ... The default is |
| Collision Avoidance Factor | Specifies a factor that is used to randomly tweak the redelivery delay if
collision avoidance is enabled. The collision avoidance policy tweaks the next delay
by a random amount, up to plus/minus p% of its current value. The default
is 0.15. |
| Delay Pattern | Specifies a pattern to use for calculating the delay, which enables you to
specify fixed delays for interval groups. For example, the pattern 0:1000; 5:5000;
10:30000 specifies a 1 second delay between redelivery attempts 0 through 4, a 5
second delay between attempts 5 through 9, and a 30 second delay between all
subsequent attempts. |
| Disable Redelivery | Specifies whether to disable the redelivery feature. Redelivery is enabled when Maximum Redeliveries is set to a positive number. |
| Log Continued | Specifies whether to log continuously reoccurring exceptions. The default is
false. |
| Log Exhausted | Specifies whether to log all failed redelivery attempts. The default is
true. |
| Log Handled | Specifies whether to log handled exceptions. The default is
false. |
| Log Retry Attempted | Specifies whether to log redelivery attempts. The default is
true. |
| Log Retry Stack Trace | Specifies whether to log stack traces for failed delivery attempts. The default
is false. |
| Log Stack Trace | Specifies whether to include the JVM stack trace in the error logs. The default
is true. |
| Maximum Redeliveries | Specifies the maximum number of delivery attempts. The default is 0. |
| Maximum Redelivery Delay | Specifies, in milliseconds, the maximum redelivery delay when using an
exponential back-off strategy. The default is 60 * 1000. |
| Redelivery Delay | Specifies the delay, in milliseconds, between redelivery attempts. The default is
1000. |
| Retries Exhausted Log Level | Specifies the logging level at which to log delivery failure. The default is
Error. |
| Retry Attempted Log Level | Specifies the logging level at which to redelivery attempts. The default is
Debug. |
| Use Collision Avoidance | Specifies whether to use collision avoidance, which adds some randomization to
the back-off timings, reducing the probability of contention. The default is
false |
| Use Exponential Back Off | Specifies whether to use exponential backoff. The default is
false. |
| Expression and Predicates Languages |
| Adding beans and configuration in Using Fuse IDE |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Rollback — Forces a rollback of a route
The Rollback pattern forces a route to rollback all of the already executed processing.
The Rollback pattern can appear anywhere in the body of a route.
Table 4.11 describes the properties you can specify using the properties editor.
Table 4.11. Rollback Properties
| Name | Description |
|---|---|
| Message | Specifies a message to be sent when a transaction is rolled back. |
| Mark Rollback Only | Specifies whether the entire transaction is rolled back, without throwing a
This property cannot be enabled when Mark Rollback Only Last is enabled. |
| Mark Rollback Only Last | Specifies whether the current transaction is rolled back, without throwing a
This property cannot be enabled when Mark Rollback Only is enabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Throttle — Controls the rate at which messages are passed to the next node in the route
The Throttle pattern controls the flow of messages from one step in the route to the next.
The Throttle pattern can appear anywhere in the body of a route.
Table 4.12 describes the properties you can specify using the properties editor.
Table 4.12. Throttle Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to determine the rate at which messages are passed to the next node in the route. |
| Language | Specifies the language to use to process the expression. |
| Caller Runs When Rejected | Specifies whether tasks rejected by the thread pool are executed by the calling
thread. The default is Disabled. |
| Async Delayed | Specifies whether processing tasks will be scheduled for processing at a later
time. The default is Disabled. |
| Time Period Millis | Specifies the time period, in milliseconds, used by the throttler. The default is
1000 milliseconds. |
| Maximum Requests Per Period | Specifies the number of messages per time period that are allowed through the throttler. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Throw Exception — Throws an exception
The Throw Exception pattern instructs the route processor to throw an exception.
The Throw Exception pattern can appear anywhere in the route body.
Table 4.13 describes the properties you can specify using the properties editor.
Table 4.13. Throw Exception Properties
| Name | Description |
|---|---|
| Ref | Specifies a reference to the Spring bean defining the exception to throw. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Transacted — Marks a route as a transaction
The Transacted pattern marks the beginning of a transaction in a route. All of the nodes following the transacted node are included in a transaction. All of the nodes preceding the transacted node are not included in the transaction.
![]() | Important |
|---|---|
The transaction includes only the currently executing thread. Any message processing done in a subthread will not be included in the transaction. |
The Transacted pattern is usually placed directly following the from endpoint in a route.
However, it can appear anywhere in the route body.
Table 4.14 describes the properties you can specify using the properties editor.
Table 4.14. Transacted Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Ref | Specifies a reference to a transaction policy. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Try — Marks the beginning of a Try, Catch, Finally block
The Try pattern is the entry point for a Try, Catch, Finally block.
The Try pattern can appear anywhere in a route body. It can be followed by any patterns. It must be followed by at least one Catch node that is parallel to the normal processing path. It can also be followed by a Finally node that is parallel to the normal processing path and the paths started by Catch nodes.
Table 4.15 describes the properties you can specify using the properties editor.
Table 4.15. Try Properties
| Name | Description |
|---|---|
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Convert Body — Converts the message body to a form usable by the next endpoint
The Convert Body pattern converts the body of the message into the specified Java type. It can also change the character encoding of the data.
The Convert Body pattern can appear anywhere in the body of the route.
Table 5.1 describes the properties you can specify using the properties editor.
Table 5.1. Convert Body Properties
| Name | Description |
|---|---|
| Type | Specifies the Java class to which the message body is converted. The type is specified using fully qualified Java type name. |
| Charset | Specifies the character encoding to use. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Enrich — Enriches a message with data from a secondary resource
The Enrich pattern uses a producer to pull data from an endpoint outside of the route and
uses it to enrich the message the route is processing. An
AggregationStrategy is used to determine how the data is
combined.
The Enrich pattern can be used anywhere in the body of a route.
The Enrich pattern is typically used with request-response messaging; for example, to enrich the current message with the reply from a web service call.
![]() | Tip |
|---|---|
Use the Poll Enrich pattern when enriching files because the Enrich pattern will write the message content as a file. |
Table 5.2 describes the properties you can specify using the properties editor.
Table 5.2. Enrich Properties
| Name | Description |
|---|---|
| Resource Uri | Specifies the URI of the endpoint from which the enrichment data is pulled. |
| Aggregation Strategy Ref | Specifies a reference for looking up the
AggregationStrategy in the registry. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
In Only — Marks the exchange pattern for the route to one way (Event Message pattern)
The In Only pattern forces the route into a one way message exchange pattern. No response message will be returned when processing is complete.
The In Only pattern can appear anywhere in the body of a route. It can also be the final destination in a route.
Table 5.3 describes the properties you can specify using the properties editor.
Table 5.3. In Only Properties
| Name | Description |
|---|---|
| Uri | Specifies the URI of the endpoint to which the one way message is delivered. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
In Out — Marks the exchange pattern for the route to request/reply
The In Out pattern forces the route into a two way message exchange pattern. A response message will be returned when processing is complete.
The In Out pattern can appear anywhere in the body of a route. It can also be the final destination in a route.
Table 5.4 describes the properties you can specify using the properties editor.
Table 5.4. In Out Properties
| Name | Description |
|---|---|
| Uri | Specifies the URI of the endpoint to which the message is delivered. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Marshal — Marshals data into a specified format for transmission over a transport or component
The Marshal pattern uses Apache Camel's pluggable data format mechanism to convert messages into a format appropriate for transmission by one of the Apache Camel components.
The Marshal pattern can be placed anywhere in the body of a route. However, it is typically placed before endpoints that transmit the message to another location.
Table 5.5 describes the properties you can specify using the properties editor.
Table 5.5. Marshal Properties
| Name | Description |
|---|---|
| Data Format Type | Specifies the data type into which the data will be marshalled. For data formats that require configuration, the format's tab provides the property fields to configure the marshaller. Because the GZip, Serialization, String, and Zip data formats are part of the
Camel core, you need not add dependencies for them in your Maven
|
| Ref | Specifies a reference to a Spring bean configuring the Apache Camel data format to which the message body is marshalled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Table 5.6 describes the properties needed to configure the bindy marshaller.
Table 5.6. bindy Properties
| Name | Description |
|---|---|
| Class Type | Specifies a fully qualified class name that explicitly defines the type to use for
marshalling. For example, you might enter
You must use either this property or |
| Locale | Species the language name of the locale whose date and number format will be used. If not specified, the marshaller determines and uses the formatting of a default language name. Valid values are the two-letter abbreviation of the language name, in lower case. For example,
For an exhaustive list of language names, see Codes for the Representation of Names of Languages |
| Packages | Specifies the packages to use for marshalling. A package contains a defined model with
required annotations properly associated for each class in the model. For example,
you might enter When specifying multiple packages, separate them with a comma ( You must use either this property or |
| Type | Specifies the record type, Select either (comma-separated value fields), (fixed-length records), or (key/value pair fields). |
Table 5.7 describes the properties needed to configure the castor marshaller.
Table 5.7. castor Properties
| Name | Description |
|---|---|
| Classes | Specifies additional classes to add to the Castor XmlContext. Enter the fully
qualified path. When specifying multiple classes, separate them with a comma
(,). |
| Encoding | Specifies the encoding to use when marshalling an Object to XML. Default is UTF-8. |
| Mapping File | Specifies the path to the Castor mapping file to load from the classpath. |
| Packages | Specifies any additional packages to add to the Castor XmlContext. Enter the
fully qualified path. When specifying multiple classes, separate them with a comma
(,). |
Table 5.8 describes the properties needed to configure the crypto marshaller.
Table 5.8. crypto Properties
| Name | Description |
|---|---|
| Algorithm | Specifies the name of the JCE cryptographic algorithm to use. Default is
DES/CBC/PKCS5Padding. |
| Algorithm Parameter Ref | Specifies a reference to the JCE AlgorithmParameterSpec to use to
initialize the cipher. Some crypto algorithms, particularly block algorithms, require
initialization by an initial block of data, known as an Initialization Vector. The JCE passes the Initialization Vector to the cipher as an
AlgorithmParameterSpec . Select from the list of available
options. |
| Buffersize | Specifies the size, in bytes, of the buffer used in the signature process. |
| Crypto Provider | Specifies the name of the JCE Security Provider to use. For options, see Java Cryptography Architecture; Sun Providers Documentation. |
| Init Vector Ref | Specifies a reference to a byte array containing the Initialization Vector to use to initialize the cipher. Select from the list of available options. |
| Inline | Enables inlining the configured Initialization Vector into the encrypted data stream. |
| Key Ref | Specifies the value of the keyref attribute within
the <dataFormats> element in a Spring configuration.
For example, <crypto id="basic" algorithm="DES" keyref="desKey" />.
Select from the list of available options. |
| Mac Algorithm | Specifies the algorithm to use to create the Hash-based Message Authentication.
Default is HmacSHA1. For more options, see Java Standard Names Reference. |
| Should Append HMAC | Enables calculating and appending a Message Authentication Code to the encrypted data. |
Table 5.9 describes the properties needed to configure the csv marshaller.
Table 5.9. csv Properties
| Name | Description |
|---|---|
| Delimiter | Specifies the character to use to separate the fields in a csv record. Default is
, (comma). Valid values are any single character, such as ., |, ;,
#, and so on. |
Table 5.10 describes the properties needed to configure the custom marshaller.
Table 5.10. custom Properties
| Name | Description |
|---|---|
| Ref | Reference to file that implements your custom data format using the DataFormat interface. |
Table 5.11 describes the properties needed to configure the jaxb marshaller.
Table 5.11. jaxb Properties
| Name | Description |
|---|---|
| Context Path | Specifies the context path for the jaxb data format. For example,
org.apache.camel.example
|
| Encoding | Specifies the encoding to use when marshalling data. Valid values include:
With no value specified, Fuse IDE defaults to the encoding used by JAXB. |
| Filter Non XML Chars | Enables the filtering of non XML characters during marshalling such that the
marshaller replaces any non XML characters it encounters with the string "
". Otherwise, when it encounters a non XML character, the marshaller throws
an exception. |
| Fragment | Enables the marshaller's FRAGMENT encoding property, which prevents
the marshaller from generating the XML declaration. Enable this property in
conjunction with setting and to perform partial marshalling on only a fragment of the XML
tree. |
| Ignore JAXBElement | Not Applicable. |
| Part Class | Specifies the uri of the class within the XML tree that you want to marshal, leaving all other classes in the tree as is. Set this property in conjunction with and to perform partial marshalling on only a fragment of the XML tree. |
| Part Namespace | Specifies the Qname of the destination namespace. |
| Pretty Print | Enables pretty printing, which adds white space as needed to tidy up the resulting XML for easy reading. |
Table 5.12 describes the properties needed to configure the json marshaller.
Table 5.12. json Properties
| Name | Description |
|---|---|
| Library | Specifies the library to use for marshalling. Select either XStream or Jackson from the drop-down list. Default is XStream. |
| Pretty Print | Enables pretty printing, which adds white space as needed to tidy up the resulting XML for easy reading. |
| Unmarshal Type Name | Not Applicable. |
Table 5.13 describes the properties needed to configure the pgp marshaller.
Table 5.13. pgp Properties
| Name | Description |
|---|---|
| Armored | Specifies whether to base64 encode the encrypted text, so it can be
copied/pasted, and so on. The default is Disabled. |
| Integrity | Specifies whether to add an integrity check sign to the encrypted file. The
default is Enabled. |
| Key File Name | Specifies the name of the keyring file that contains the public keys to use to
encrypt the data. This file must be accessible as
classpathresource; for example,
org/apache/camel/component/crypto/pubring.gpg. |
| Key User Id | Specifies the user id of the key in the pgp keyring used for encryption. |
| Password | Specifies the password to use for opening the private key. This password is not used for encryption. |
Table 5.14 describes the properties needed to configure the protobuf marshaller.
Table 5.14. protobuf Properties
| Name | Description |
|---|---|
| Instance Class | Specifies the name of the instance class to use for marshalling. This is one of
the classes generated when you compiled your .proto file. Include the
builder generated in the uri; for example,
org.apache.camel.dataformat.protobuf.generated.<nameOfInstanceClass>. |
Table 5.15 describes the properties needed to configure the secureXML marshaller.
Table 5.15. secureXML Properties
| Name | Description |
|---|---|
| Key Cipher Algorithm[a] | Specifies the cipher algorithm to use to encrypt the asymmetric key. Default is null. Valid values are:
Asymmetric key encryption is enabled when either this property is set, or the
|
| Key Or Trust Store Parameters Id[a] | Specifies the ID of the configuration options to use to create and load a keyStore instance that represents the sender's trustStore, when performing asymmetric key encryption. |
| Pass Phrase | Specifies a string of alphanumeric characters to use as the passphrase for marshalling the message into cyphertext. The passphrase must be appropriate for the selected encryption algorithm. if not, the marshaller throws an exception. When no phrase is specified, the marshaller generates and uses a default passphrase. |
| Recipient Key Alias[a] | Specifies the key alias to use for retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption. |
| Secure Tag | Specifies the XPath reference to the XML element to encrypt. If left blank, the entire XML message is encrypted. |
| XML Cipher Algorithm | Specifies the cipher algorithm to use for encrypting message content. Valid values include:
|
[a] Used for asymmetric key encryption | |
Table 5.16 describes the properties needed to configure the soapjaxb marshaller.
Table 5.16. soapjaxb Properties
| Name | Description |
|---|---|
| Context Path | Specifies the path of the package to use for initializing the JAXB context. |
| Element Name Strategy Ref | Specifies the bean reference to use to the element name and its namespace within the body of the soap message. Select for the list of available options. |
| Encoding | Specifies the encoding to use when marshalling data. Valid values include:
With no value specified, Fuse IDE defaults to the encoding used by JAXB. |
Table 5.17 describes the properties needed to configure the string marshaller.
Table 5.17. string Properties
| Name | Description |
|---|---|
| Charset | Specifies the character set to use for encoding. Valid values include:
With no value specified, Fuse IDE defaults to the encoding used by the platform. |
Table 5.18 describes the properties needed to configure the XmlBeans marshaller.
Table 5.18. XmlBeans Properties
| Name | Description |
|---|---|
| Pretty Print | Enables pretty printing, which adds white space as needed to tidy up the resulting XML for easy reading. |
Table 5.19 describes the properties needed to configure the zip marshaller.
Table 5.19. zip Properties
| Name | Description |
|---|---|
| Compression Level | Specifies the level of compression for the marshaller to use. When no value is specified, the marshaller uses its default compression algorithm. Valid values are:
|
Poll Enrich — Enriches messages with data retrieved from a polling consumer
The poll enrich pattern uses a polling consumer to pull data from an endpoint outside
of the route and uses the new data to enrich the message being processed by the route. An
AggregationStrategy is used to determine how the
data is combined.
The poll enrich pattern can be used anywhere in the body of a route.
The Poll Enrich pattern is typically used to poll files from an FTP server.
Table 5.20 describes the properties you can specify using the properties editor.
Table 5.20. Poll Enrich Properties
| Name | Description |
|---|---|
| Resource Uri | Specifies the URI of the endpoint from which the enrichment data is pulled. |
| Aggregation Strategy Ref | Specifies a reference for looking up the
AggregationStrategy in the registry. |
| Timeout | Specifies the time, in milliseconds, the enricher polls for data before timing out. An negative value specifies that the enricher will never timeout. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
![]() | Important |
|---|---|
Either Resource Uri or Resource Ref must be specified. The editor does not validate that one is provided. |
Remove Header — Removes a named header from the message
The Remove Header pattern removes a named header from the message.
The Remove Header pattern can appear anywhere in the route body.
Table 5.21 describes the properties you can specify using the properties editor.
Table 5.21. Remove Header Properties
| Name | Description |
|---|---|
| Header Name | Specifies the name of the header to remove. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Remove Headers — Removes message headers whose name matches a specified pattern
The Remove Headers pattern removes any headers whose name matches the specified pattern from the message.
The Remove Headers pattern can appear anywhere in the route body.
Table 5.22 describes the properties you can specify using the properties editor.
Table 5.22. Remove Headers Properties
| Name | Description |
|---|---|
| Pattern | Specifies the pattern used to identify the removed headers. The pattern uses
standard wild card character notation where * matches any number
of characters. |
| Exclude Pattern | Specifies a pattern used to identify headers that should remain in the message.
The pattern uses standard wild card character notation where *
matches any number of characters. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Remove Property — Removes a named property from the message exchange
The Remove Property pattern removes a named property from the message exchange.
The Remove Property pattern can appear anywhere in the route body.
Table 5.23 describes the properties you can specify using the properties editor.
Table 5.23. Remove Property Properties
| Name | Description |
|---|---|
| Property Name | Specifies the name of the property to remove. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Set Body — Sets the contents of the message body
The Set Body pattern sets the contents of the message body using an expression.
The Set Body pattern can appear anywhere in the body of a route.
Table 5.24 describes the properties you can specify using the properties editor.
Table 5.24. Set Body Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to generate the contents of the message body. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Set Exchange Pattern — Sets the exchange pattern for the route
The Set Exchange pattern specifies the exchange pattern used by the route. It can override the exchange pattern set by the endpoints.
The Set Exchange pattern can appear anywhere in the route body.
Table 5.25 describes the properties you can specify using the properties editor.
Table 5.25. Set Exchange Pattern Properties
| Name | Description |
|---|---|
| Pattern |
Specifies the exchange pattern the route will use. Valid values are:
|
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Set Fault Body — Sets the contents of a fault message's body
The Set Fault Body pattern uses an expression to set the contents of the message body generated when a fault occurs in the route.
The Set Fault Body pattern can appear anywhere in the body of a route.
Table 5.26 describes the properties you can specify using the properties editor.
Table 5.26. Set Fault Body Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to generate the contents of the message body. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Set Header — Sets the value of a message header
The Set Header pattern sets the contents of a message header using an expression.
The Set Header pattern can appear anywhere in the body of a route.
Table 5.27 describes the properties you can specify using the properties editor.
Table 5.27. Set Header Properties
| Name | Description |
|---|---|
| Header Name | Specifies the name of the header. |
| Expression | Specifies the expression used to generate the contents of the header. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Set Out Header — Sets the value of a header on the outbound message
The Set Out Header pattern sets the contents of a message header using an expression. The header is set in the response message.
The Set Out Header pattern can appear after anywhere in the body of a route.
Table 5.28 describes the properties you can specify using the properties editor.
Table 5.28. Set Out Header Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to generate the contents of the header. |
| language | Specifies the expression language used to process the expression. |
| Header Name | Specifies the name of the header. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Set Property — Sets a named property on the message exchange
The Set Property pattern sets the value of an exchange property using an expression.
The Set Property pattern can appear anywhere in the body of a route.
Table 5.29 describes the properties you can specify using the properties editor.
Table 5.29. Set Property Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to generate the value of the property. |
| language | Specifies the expression language used to process the expression. |
| Property Name | Specifies the name of the property. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Transform — Transforms the message based on an expression
The Transform pattern transforms the body of the message using an expression.
The Transform pattern can appear anywhere in the body of a route.
Table 5.30 describes the properties you can specify using the properties editor.
Table 5.30. Transform Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to transform the massage. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
Unmarshal — Converts the message data received from the wire into a format that Apache Camel processors can consume
The Unmarshal pattern uses Apache Camel's pluggable data format mechanism to convert messages into a format appropriate for processing by Apache Camel.
The Unmarshal pattern can be placed anywhere in the body of a route. However, it is typically placed after endpoints that receive the message.
Table 5.31 describes the properties you can specify using the properties editor.
Table 5.31. Unmarshal Properties
| Name | Description |
|---|---|
| Data Format Type | Specifies the data type to which the data will be unmarshalled. For data formats that require configuration, the format's tab provides the property fields to configure the marshaller. Because the GZip, Serialization, String, and Zip data formats are part of the
Camel core, you need not add dependencies for them in your
Maven
|
| Ref | Specifies a reference to a Spring bean configuring the Apache Camel data format to which the message body is unmarshalled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Table 5.32 describes the properties needed to configure the bindy unmarshaller.
Table 5.32. bindy Properties
| Name | Description |
|---|---|
| Class Type | Specifies a fully qualified class name that explicitly defines the type to use for
unmarshalling. For example, you might enter
You must use either this property or |
| Locale | Species the language name of the locale whose date and number format will be used. If not specified, the unmarshaller determines and uses the formatting of a default language name. Valid values are the two-letter abbreviation of the language name, in lower case. For example,
For an exhaustive list of language names, see Codes for the Representation of Names of Languages |
| Packages | Specifies the packages to use for unmarshalling. A package contains a defined model with
required annotations properly associated for each class in the model. For example,
you might enter When specifying multiple packages, separate them with a comma ( You must use either this property or |
| Type | Specifies the field type. Select (comma-separated value fields), (fixed-length records), or (key/value pair fields). |
Table 5.33 describes the properties needed to configure the castor unmarshaller.
Table 5.33. castor Properties
| Name | Description |
|---|---|
| Classes | Specifies additional classes to add to the Castor XmlContext. Enter the fully
qualified path. When specifying multiple classes, separate them with a comma
(,). |
| Encoding | Specifies the encoding to use when unmarshalling XML to an Object. Default is UTF-8. |
| Mapping File | Specifies the path to the Castor mapping file to load from the classpath. |
| Packages | Specifies any additional packages to add to the Castor XmlContext. Enter the
fully qualified path. When specifying multiple packages, separate them with a comma
(,). |
Table 5.34 describes the properties needed to configure the crypto unmarshaller.
Table 5.34. crypto Properties
| Name | Description |
|---|---|
| Algorithm | Specifies the name of the JCE cryptographic algorithm to use. Default is
DES/CBC/PKCS5Padding. |
| Algorithm Parameter Ref | Reference to the JCE AlgorithmParameterSpec to use to initialize the
cipher. Some crypto algorithms, particularly block algorithms, require initialization
by an initial block of data, known as an Initialization
Vector. The JCE passes the Initialization
Vector to the cipher as an AlgorithmParameterSpec. Select
from the list of available options. |
| Buffersize | Specifies the size, in bytes, of the buffer used in the signature process. |
| Crypto Provider | Specifies the name of the JCE Security Provider to use. For options, see Java Cryptography Architecture; Sun Providers Documentation. |
| Init Vector Ref | Reference to a byte array containing the Initialization Vector to use to initialize the cipher. Select from the list of available options. |
| Inline | Enables inlining the configured Initialization Vector into the encrypted data stream. |
| Key Ref | Specifies the value of the keyref attribute within
the <dataFormats> element in a Spring configuration.
For example, <crypto id="basic" algorithm="DES" keyref="desKey" />.
Select from the list of available options. |
| Mac Algorithm | Specifies the algorithm to use to create the Hash-based Message Authentication.
Default is HmacSHA1. For more options, see Java Standard Names Reference. |
| Should Append HMAC | Enables calculating and appending a Message Authentication Code to the decrypted data. |
Table 5.35 describes the properties needed to configure the csv unmarshaller.
Table 5.35. csv Properties
| Name | Description |
|---|---|
| Delimiter | Specifies the character to use to separate the fields in a csv record. Default is
, (comma). Valid values are any single character, such as ., |, ;,
#, and so on. |
Table 5.36 describes the properties needed to configure the custom unmarshaller.
Table 5.36. custom Properties
| Name | Description |
|---|---|
| Ref | Reference to the file that implements your custom data format using the DataFormat interface. |
Table 5.37 describes the properties needed to configure the jaxb unmarshaller.
Table 5.37. jaxb Properties
| Name | Description |
|---|---|
| Context Path | Specifies the context path for the jaxb data format. For example,
org.apache.camel.example
|
| Encoding | Specifies the encoding to use when unmarshalling data. Valid values include:
With no value specified, Fuse IDE defaults to the encoding used by JAXB. |
| Filter Non XML Chars | Enables the filtering of non XML characters during marshalling such that the
marshaller replaces any non XML characters it encounters with the string "
". Otherwise, when it encounters a non XML character, the marshaller throws
an exception. |
| Fragment | Enables the marshaller's FRAGMENT encoding property, which prevents
the marshaller from generating the XML declaration. Enable this property in
conjunction with setting and to perform partial marshalling on only a fragment of the XML
tree. |
| Ignore JAXBElement | Disables the ignoreJAXBElement property so that the unmarshaller
returns the JAXBElement object from the body of the unmarshalled message, instead of
the value of the element instance (default behavior). |
| Part Class | Specifies the uri of the class within the XML tree that you want to marshal, leaving all other classes in the tree as is. Set this property in conjunction with and to perform partial marshalling on only a fragment of the XML tree. |
| Part Namespace | Specifies the Qname of the destination namespace. |
| Pretty Print | Enables pretty printing, which adds white space as needed to tidy up the resulting XML for easy reading. |
Table 5.38 describes the properties needed to configure the json unmarshaller.
Table 5.38. json Properties
| Name | Description |
|---|---|
| Library | Specifies the library to use for unmarshalling. Select either XStream or Jackson from the drop-down list. Default is XStream. |
| Pretty Print | Enables pretty printing, which adds white space as needed to tidy up the resulting XML for easy reading. |
| Unmarshal Type Name | Specifies the class type to use when unmarshalling; for example
org.apache.camel.component.jackson.<typeName>. Defaults to using
a map-based type. You can define a custom type to use with
org.codehaus.jackson.map.OblectMapper. |
Table 5.39 describes the properties needed to configure the pgp unmarshaller.
Table 5.39. pgp Properties
| Name | Description |
|---|---|
| Armored | Specifies whether the encrypted file was encoded using base64. The default is
Disabled. |
| Integrity | Specifies whether the encrypted file contains an integrity check sign. The
default is Enabled. |
| Key File Name | Specifies the name of the keyring file that contains the private keys to use to
decrypt the data. This file must be accessible as
classpathresource; for example,
org/apache/camel/component/crypto/secring.gpg. |
| Key User Id | Specifies the user id of the key in the pgp keyring that was used for encryption. |
| Password | Specifies the password to use for opening the private key. This password is not used for encryption. |
Table 5.40 describes the properties needed to configure the protobuf unmarshaller.
Table 5.40. protobuf Properties
| Name | Description |
|---|---|
| Instance Class | Specifies the name of the instance class to use. This is one of the classes
generated when you compiled your .proto file. Include the builder
generated in the uri; for example,
org.apache.camel.dataformat.protobuf.generated.<nameOfInstanceClass>. |
Table 5.41 describes the properties needed to configure the secureXML unmarshaller.
Table 5.41. secureXML Properties
| Name | Description |
|---|---|
| Key Cipher Algorithm[a] | Specifies the cipher algorithm to use to decrypt the asymmetric key. Default is null. Valid values are:
Asymmetric key decryption is enabled when either this property is set, or the
|
| Key Or Trust Store Parameters Id[a] | Specifies the ID of the configuration options to use to create and load a keyStore instance that represents the recipient's keyStore, when performing asymmetric key decryption. |
| Pass Phrase | Specifies a string of alphanumeric characters to use as the passphrase for unmarshalling the message into regular text. The passphrase must be appropriate for the selected decryption algorithm. if not, the unmarshaller throws an exception. When no phrase is specified, the unmarshaller generates and uses a default passphrase. |
| Recipient Key Alias[a] | Specifies the key alias to use for retrieving the recipient's public or private key from a KeyStore when performing asymmetric key encryption. |
| Secure Tag | Specifies the XPath reference to the XML element to decrypt. If left blank, the entire XML message is decrypted. |
| XML Cipher Algorithm | Specifies the cipher algorithm to use for decrypting message content. Valid values are:
|
[a] Used for asymmetric key encryption | |
Table 5.42 describes the properties needed to configure the soapjaxb unmarshaller.
Table 5.42. soapjaxb Properties
| Name | Description |
|---|---|
| Context Path | Specifies the path of the package to use for initializing the JAXB context. |
| Element Name Strategy Ref | Selects the bean reference to the element name and its namespace within the body of the soap message. |
| Encoding | Specifies the encoding to use when unmarshalling data. Valid values include:
With no value specified, Fuse IDE defaults to the encoding used by JAXB. |
Table 5.43 describes the properties needed to configure the string unmarshaller.
Table 5.43. string Properties
| Name | Description |
|---|---|
| Charset | Specifies the character set to use for encoding. Valid values include:
With no value specified, Fuse IDE defaults to the encoding used by the platform. |
Table 5.44 describes the properties needed to configure the tidyMarkup unmarshaller.
Table 5.44. tidyMarkup Properties
| Name | Description |
|---|---|
| Data Object Type Name | Specifies the type of Object the unmarshaller outputs. Valid values are String
and org.w3c.dom.Node. |
Table 5.45 describes the properties needed to configure the XmlBeans unmarshaller.
Table 5.45. XmlBeans Properties
| Name | Description |
|---|---|
| Pretty Print | Enables pretty printing, which adds white space as needed to tidy up the input XML for easy reading. |
AOP — Does processing before and/or after the route is completed
![]() | Warning |
|---|---|
The AOP pattern has been deprecated in Apache Camel. |
The AOP pattern allows you to specify processing steps that are performed around a processing step. The processing steps can be done either before, after, or before and after the preceding step in the route.
An AOP pattern can occur anywhere in the body of a route.
Table 6.1 describes the properties you can specify using the properties editor.
Table 6.1. AOP Properties
| Name | Description |
|---|---|
| After Uri | Specifies an endpoint to which the messages are sent after the AOP pattern is finished processing. |
| Before Uri | Specifies an endpoint to which the messages are sent before the AOP pattern is finished processing. |
| After Finally Uri | Specifies an endpoint to which the messages are sent after the AOP pattern is finished processing. The endpoint in specified in this property is invoked from a finally block and is guaranteed to get the message in the event of an exception. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Policy — Defines a policy the route will use
The Policy pattern allows you to specify a policy, such as a security policy, to which all nodes that follow it must adhere. The policy is configured as a Spring bean.
The Policy pattern can appear anywhere in the body of a route.
Table 6.2 describes the properties you can specify using the properties editor.
Table 6.2. Policy Properties
| Name | Description |
|---|---|
| Ref | Specifies a reference to the Spring bean configuring the policy to be enforced. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Sampling — Extract a sample of the exchanges passing through a route
The Sampling pattern allows you to extract a sample of the exchanges as they pass through a route. They are configured with a sampling period during which only a single exchange is allowed to pass through. All other exchanges will be stopped.
The Sampling pattern can appear anywhere in the body of a route.
Table 6.3 describes the properties you can specify using the properties editor.
Table 6.3. Sampling Properties
| Name | Description |
|---|---|
| Sample Period | Specifies the amount of time during which a single message can pass. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Units | Specifies the unit of measure for the sampling period. |
| Message Frequency | Specifies the number of messages that can pass during the sampling period. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Stop — Stops the processing of the current message
The Stop pattern allows you to stop a route. When a Stop node is reached the message processing is stopped, and, if the message exchange pattern is request/reply, a reply message is returned.
Table 6.4 describes the properties you can specify using the properties editor.
Table 6.4. Stop Properties
| Name | Description |
|---|---|
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Threads — Specifies that all steps after this node are processed asynchronously
The Threads pattern specifies that the nodes after it in the route are processed asynchronously. This means that the route can use multiple threads to process messages and that the client will not wait for a reply.
The Threads pattern can be used anywhere in the body of a route.
Table 6.5 describes the properties you can specify using the properties editor.
Table 6.5. Threads Properties
| Name | Description |
|---|---|
| Time Unit | Specifies the unit of measure for timeout values. |
| Pool Size | Specifies the core pool size for the thread pool. |
| Max Pool Size | Specifies the maximum pool size for the thread pool. |
| Thread Name | Specifies an expression, in the simple language, that is used to generate unique names for the threads used to process messages. |
| Max Queue Size | Specifies the maximum size of the thread queue. |
| Executor Service Ref | Specifies a reference for looking up the
executorService to use for
thread pool management. |
| Keep Alive Time | Specifies the amount of time a thread can be idle before it is reaped. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Caller Runs When Rejected | Specifies whether tasks rejected by the thread pool are executed by the calling
thread. The default is Disabled. |
| Rejected Policy |
Specifies how tasks rejected by the thread pool are handled. Valid values are:
|
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
Validate — Validates a message based on an expression
The Validate pattern validates a message based on an expression. If the message evaluates
to true, message processing continues. If the message evaluates to false, message processing
stops and an PredicateValidationException is thrown.
The Validate pattern can be used anywhere in the route body.
Table 6.6 describes the properties you can specify using the properties editor.
Table 6.6. Validate Properties
| Name | Description |
|---|---|
| Expression | Specifies the expression used to validate the message. |
| language | Specifies the expression language used to process the expression. |
| Inherit Error Handler | Specifies whether the node should use the error handler configured for the route.
The default is Disabled. |
| Id | Specifies a unique identifier for the endpoint. The Id can be used to refer to the endpoint in the Camel XML file. |
| Description | Specifies a text description for the node. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Expression and Predicates Languages |
| Configuring the Fuse IDE route editor in Using Fuse IDE |
The Route icon (Figure 7.1)
appears in Outline view. It represents an individual route in a routing context file. In
projects consisting of multiple routes, the route icons appear in Outline view in the order
they appear within the camelContext element of the routing context
file.
In Outline view, select a route's icon to display the route on the canvas and open its Properties editor. This is the easiest way to switch between routes when developing a multiroute project.
Table 7.1 describes the properties you can specify for a route using the Properties editor.
Table 7.1. Route Properties
| Name | Description |
|---|---|
| Auto Startup | Specifies whether to start the route automatically when Camel starts up. The default is
|
| Shutdown Route | Specifies when to stop the route. Options are:
|
| Startup Order | Specifies the order in which to start this route in relation to other routes in the routing context when Camel starts up. Valid values are integers corresponding to the number of routes in the routing context. |
| Trace | Specifies whether to trace the path of an exchange through a particular route.
The default is false. |
| Stream Cache | Specifies whether to cache streams that otherwise could not be accessed multiple
times. This is necessary for implementing redelivery during error handling, which
requires reading the stream multiple times. The default is
false. |
| Error Handler Ref | Specifies a reference to a bean that defines and applies an error handler. |
| Route Policy Ref | Specifies a reference to a bean that defines and applies a policy that controls routes at runtime. The bean can implement any logic that you want Apache Camel to invoke at route start or at route end. |
| Delayer | Specifies a delay, in milliseconds, that slows down message processing. This is
useful during debugging, making it easier to inspect the logs while tracking messages.
The default is 0. |
| Handle Fault | Specifies whether to convert fault messages into exceptions. Intended for
applications deployed into a JBI container, so the Camel error handler can react to
faults. The default is false. |
| Shutdown Running Task | Specifies how the routing context shuts down. Options are:
|
| Group | Specifies the name of a group of which the route is a member. This property is informational only. It is not used by Apache Camel. |
| Id | Specifies a unique id for the route. This id appears in the generated XML (Source view) and with the Route icon in Outline view. It also appears in log entries. If left blank, Fuse IDE assigns the route a default Id. |
| Description | Specifies a textual description for the route. This description is included in the generated XML file, but it is informational only. It is not used by Apache Camel. |
| Adding routes to the routing context in Using Fuse IDE |