37.2. Fluent Producer テンプレートの使用
Camel 2.18 から利用可能
FluentProducerTemplate インターフェースは、プロデューサーを構築するための Fluent 構文を提供します。DefaultFluentProducerTemplate クラスは FluentProducerTemplate を実装します。
以下の例では、DefaultFluentProducerTemplate オブジェクトを使用してヘッダーとボディーを設定します。
Integer result = DefaultFluentProducerTemplate.on(context)
.withHeader("key-1", "value-1")
.withHeader("key-2", "value-2")
.withBody("Hello")
.to("direct:inout")
.request(Integer.class);
以下の例は、DefaultFluentProducerTemplate オブジェクトでプロセッサーを指定する方法を示しています。
Integer result = DefaultFluentProducerTemplate.on(context)
.withProcessor(exchange -> exchange.getIn().setBody("Hello World"))
.to("direct:exception")
.request(Integer.class);以下の例では、デフォルトの Fluent Producer テンプレートをカスタマイズする方法を表しています。
Object result = DefaultFluentProducerTemplate.on(context)
.withTemplateCustomizer(
template -> {
template.setExecutorService(myExecutor);
template.setMaximumCacheSize(10);
}
)
.withBody("the body")
.to("direct:start")
.request();
FluentProducerTemplate インスタンスを作成するには、Camel コンテキストで createFluentProducerTemplate() メソッドを呼び出します。以下に例を示します。
FluentProducerTemplate fluentProducerTemplate = context.createFluentProducerTemplate();