このタスクについて
メッセージを集約するために、集約戦略の構築に役立つJava Beanを使います。
手順
-
リポジトリーツリービューで[Code] (コード)ノードを展開し、Beansノードを展開します。コンテキストメニューで[Create Bean] (Beanを作成)を選択します。
-
[New Bean] (新規Bean)ウィザードが開きます。[Name] (名前)フィールドにBeanの名前(たとえばAggregateBody)を入力します。[Finish] (終了)をクリックし、ウィザードを閉じます。
-
次の図に示すようにコードを入力します。このユースケースでは、すべてのメッセージを1つのメッセージに集約します。
package beans; import org.apache.camel.Exchange; import org.apache.camel.AggregationStrategy; public class AggregateBody implements AggregationStrategy{ public Exchange aggregate(Exchange oldEx, Exchange newEx) { if(oldEx==null){ return newEx; } String oldBody = oldEx.getIn().getBody(String.class); String newBody = newEx.getIn().getBody(String.class); newEx.getIn().setBody(oldBody+newBody); return newEx; } }
- [Ctrl]+[S]を押し、Beanを保存します。