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();