To

Camel supports the Message Endpoint from the EIP patterns using the Endpoint interface.

How does an application connect to a messaging channel to send and receive messages?

image

Connect an application to a messaging channel using a Message Endpoint, a client of the messaging system that the application can then use to send or receive messages.

In Camel the To EIP is used for sending messages to static endpoints.

The To and ToD EIPs are the most common patterns to use in Camel routes.

Options

The To eip supports 5 options, which are listed below.

Name Description Default Type

description

Sets the description of this node.

String

disabled

Whether to disable this EIP from the route during build time. Once an EIP has been disabled then it cannot be enabled later at runtime.

false

Boolean

variableSend

To use a variable as the source for the message body to send. This makes it handy to use variables for user data and to easily control what data to use for sending and receiving. Important: When using send variable then the message body is taken from this variable instead of the current Message , however the headers from the Message will still be used as well. In other words, the variable is used instead of the message body, but everything else is as usual.

String

variableReceive

To use a variable to store the received message body (only body, not headers). This is handy for easy access to the received message body via variables. Important: When using receive variable then the received body is stored only in this variable and not on the current org.apache.camel.Message .

String

uri

Required Sets the uri of the endpoint to send to.

String

pattern

Sets the optional ExchangePattern used to invoke this endpoint.

Enum values:

  • InOnly

  • InOut

ExchangePattern

Different between To and ToD

The to is used for sending messages to a static endpoint. In other words to sends messages only to the same endpoint.

The toD is used for sending messages to a dynamic endpoint. The dynamic endpoint is evaluated on-demand by an Expression. By default, the Simple expression is used to compute the dynamic endpoint URI.

the Java DSL also provides a toF EIP, which can be used to avoid concatenating route parameters and making the code harder to read.

Using To

The following example route demonstrates the use of a File consumer endpoint and a JMS producer endpoint, by their URIs:

  • Java

  • XML

  • YAML

from("file:messages/foo")
    .to("jms:queue:foo");
<route>
    <from uri="file:messages/foo"/>
    <to uri="jms:queue:foo"/>
</route>
- from:
    uri: file:messages/foo
    steps:
      - to:
          uri: jms:queue:foo