Red Hat Training

A Red Hat training course is available for Red Hat Fuse

297.5.3. CamelItemProcessor

CamelItemProcessor は、Spring Batch org.springframework.batch.item.ItemProcessor インターフェースの実装です。リクエスト応答パターン で後者実装がリレーされ、バッチ項目の処理を Camel インフラストラクチャーに委譲します。処理するアイテムは、メッセージのボディーとして Camel エンドポイントに送信されます。

たとえば、以下のスニペットは、Direct エンドポイントSimple 式言語 を使用して、バッチ項目を簡単に処理します。

<camel:camelContext>
  <camel:route>
    <camel:from uri="direct:processor"/>
    <camel:setExchangePattern pattern="InOut"/>
    <camel:setBody>
      <camel:simple>Processed ${body}</camel:simple>
    </camel:setBody>
  </camel:route>
</camel:camelContext>

<bean id="camelProcessor" class="org.apache.camel.component.spring.batch.support.CamelItemProcessor">
  <constructor-arg ref="producerTemplate"/>
  <constructor-arg value="direct:processor"/>
</bean>

<batch:job id="myJob">
  <batch:step id="step">
    <batch:tasklet>
      <batch:chunk reader="someReader" writer="someWriter" processor="camelProcessor" commit-interval="100"/>
    </batch:tasklet>
  </batch:step>
</batch:job>