The ServiceMix EIP pipeline pattern, shown in Figure A.4, is used to pass messages through a single transformer endpoint, where the transformer's input is taken from the source endpoint and the transformer's output is routed to the target endpoint. This pattern is thus a special case of the more general Fuse Mediation Router pipes and filters pattern, which enables you to pass an In message through multiple transformer endpoints.
Example A.10 shows how to define a pipeline using the ServiceMix
EIP component. Incoming messages are passed into the transformer endpoint,
test:decrypt
, and the output from the transformer endpoint is then passed
into the target endpoint, test:plaintextOrder
.
Example A.10. ServiceMix EIP Pipeline
<eip:pipeline service="test:pipeline" endpoint="endpoint"> <eip:transformer> <eip:exchange-target service="test:decrypt" /> </eip:transformer> <eip:target> <eip:exchange-target service="test:plaintextOrder" /> </eip:target> </eip:pipeline>
Example A.11 shows how to define an equivalent route using Fuse Mediation Router XML configuration.
Example A.11. Fuse Mediation Router Pipeline Using XML
<route> <from uri="jbi:endpoint:http://progress.com/demos/test/pipeline/endpoint"/> <to uri="jbi:service:http://progress.com/demos/test/decrypt"/> <to uri="jbi:service:http://progress.com/demos/test/plaintextOrder"/> </route>
Example A.12 shows how to define an equivalent route using the Fuse Mediation Router Java DSL.
Example A.12. Fuse Mediation Router Pipeline Using Java DSL
from("jbi:endpoint:http://progress.com/demos/test/pipeline/endpoint"). pipeline("jbi:service:http://progress.com/demos/test/decrypt", "jbi:service:http://progress.com/demos/test/plaintextOrder");