Show Table of Contents
2.5. Creating Exchange Instances
Overview
When processing messages with Java code (for example, in a bean class or in a processor class), it is often necessary to create a fresh exchange instance. If you need to create an
Exchange object, the easiest approach is to invoke the methods of the ExchangeBuilder class, as described here.
ExchangeBuilder class
The fully qualified name of the
ExchangeBuilder class is as follows:
org.apache.camel.builder.ExchangeBuilder
The
ExchangeBuilder exposes the static method, anExchange, which you can use to start building an exchange object.
Example
For example, the following code creates a new exchange object containing the message body string,
Hello World!, and with headers containing username and password credentials:
// Java
import org.apache.camel.Exchange;
import org.apache.camel.builder.ExchangeBuilder;
...
Exchange exch = ExchangeBuilder.anExchange(camelCtx)
.withBody("Hello World!")
.withHeader("username", "jdoe")
.withHeader("password", "pass")
.build();ExchangeBuilder methods
The
ExchangeBuilder class supports the following methods:
ExchangeBuilder anExchange(CamelContext context)- (static method) Initiate building an exchange object.
Exchange build()- Build the exchange.
ExchangeBuilder withBody(Object body)- Set the message body on the exchange (that is, sets the exchange's In message body).
ExchangeBuilder withHeader(String key, Object value)- Set a header on the exchange (that is, sets a header on the exchange's In message).
ExchangeBuilder withPattern(ExchangePattern pattern)- Sets the exchange pattern on the exchange.
ExchangeBuilder withProperty(String key, Object value)- Sets a property on the exchange.

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.