2.5. 创建交换实例

概述

在使用 Java 代码处理消息时(例如,在 bean 类或处理器类中),通常需要创建新的交换实例。如果您需要创建 Exchange 对象,最简单的方法是调用 ExchangeBuilder 类的方法,如下所述。

ExchangeBuilder 类

ExchangeBuilder 类的完全限定名称如下:

org.apache.camel.builder.ExchangeBuilder

ExchangeBuilder 会公开静态方法 aExchange,您可以使用它来开始构建交换对象。

示例

例如,以下代码会创建一个新的交换对象,其中包含消息正文字符串 Hello World!,以及包含用户名和密码凭证的标头:

// 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 方法

ExchangeBuilder 类支持以下方法:

ExchangeBuilder anExchange(CamelContext context)
(静态方法)启动构建交换对象。
Exchange build ()
构建交换。
ExchangeBuilder withBody (Object body)
在交换上设置消息正文(即,设置交换的 In 消息正文)。
ExchangeBuilder withHeader (String key, Object value)
在交换上设置标头(即,在交换的 In 消息上设置标头)。
ExchangeBuilder withPattern (ExchangePattern pattern)
在交换上设置交换模式。
ExchangeBuilder withProperty (String key, Object value)
设置交换上的属性。