2.5. エクスチェンジインスタンスの作成
概要
Java コード (たとえば Bean クラスやプロセッサークラス) でメッセージを処理している際に、新しいエクスチェンジインスタンスの生成が必要になることがあります。Exchange
オブジェクトを作成する必要がある場合は、ここで説明するように ExchangeBuilder
クラスのメソッドを呼び出すことが最も簡単な方法になります。
ExchangeBuilder クラス
ExchangeBuilder
クラスの完全修飾名は以下の通りです。
org.apache.camel.builder.ExchangeBuilder
ExchangeBuilder
は、エクスチェンジオブジェクトの構築を開始するために使用できる static メソッド anExchange
を公開しています。
例
たとえば、以下のコードは、メッセージボディーに文字列 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)
- (static メソッド) エクスチェンジオブジェクトの構築を開始します。
Exchange build()
- エクスチェンジを構築します。
ExchangeBuilder withBody(Object body)
- エクスチェンジにメッセージボディーを設定します (つまり、エクスチェンジの In メッセージボディーを設定します) 。
ExchangeBuilder withHeader(String key, Object value)
- エクスチェンジにヘッダーを設定します (つまり、エクスチェンジの In メッセージにヘッダーを設定します) 。
ExchangeBuilder withPattern(ExchangePattern pattern)
- エクスチェンジに交換パターンを設定します。
ExchangeBuilder withProperty(String key, Object value)
- エクスチェンジにプロパティーを設定します。