Page Edited :
CAMEL :
Composed Message Processor
Composed Message Processor has been edited by Jonathan Anstey (Feb 04, 2009). Content:Composed Message ProcessorThe Composed Message Processor Available in Camel 1.5. ExampleIn this example we want to check that a multipart order can be filled. Each part of the order requires a check at a different inventory. // split up the order so individual OrderItems can be validated by the appropriate bean from("direct:start").split().body().choice() .when().method("orderItemHelper", "isWidget").to("bean:widgetInventory", "seda:aggregate") .otherwise().to("bean:gadgetInventory", "seda:aggregate"); // collect and re-assemble the validated OrderItems into an order again from("seda:aggregate").aggregate(new MyOrderAggregationStrategy()).header("orderId").to("mock:result"); To do this we split up the order using a Splitter. The Splitter then sends individual OrderItems to a Content Based Router which checks the item type. Widget items get sent for checking in the widgetInventory bean and gadgets get sent to the gadgetInventory bean. Once these OrderItems have been validated by the appropriate bean, they are sent on to the Aggregator which collects and re-assembles the validated OrderItems into an order again. For full details, check the example source here: camel-core/src/test/java/org/apache/camel/processor/ComposedMessageProcessorTest.java Using This PatternIf you would like to use this EIP Pattern then please read the Getting Started, you may also find the Architecture useful particularly the description of Endpoint and URIs. Then you could try out some of the Examples first before trying this pattern out. |
Unsubscribe or edit your notifications preferences