A.9. Static Recipient List
Overview
A recipient list, shown in Figure A.6, “Static Recipient List Pattern”, is a type of router that sends each incoming message to multiple different destinations. The ServiceMix EIP recipient list is restricted to processing InOnly and RobustInOnly exchange patterns. Moreover, the list of recipients must be static. This pattern maps to the recipient list with fixed destination pattern in Apache Camel.
Figure A.6. Static Recipient List Pattern
Example ServiceMix EIP route
Example A.16, “ServiceMix EIP Static Recipient List” shows how to define a static recipient list using the ServiceMix EIP component. Incoming messages are copied to the
test:messageFilter
endpoint and to the test:trace4
endpoint.
Example A.16. ServiceMix EIP Static Recipient List
<eip:static-recipient-list service="test:recipients" endpoint="endpoint"> <eip:recipients> <eip:exchange-target service="test:messageFilter" /> <eip:exchange-target service="test:trace4" /> </eip:recipients> </eip:static-recipient-list>
Equivalent Apache Camel XML route
Example A.17, “Apache Camel Static Recipient List Using XML” shows how to define an equivalent route using Apache Camel XML configuration.
Example A.17. Apache Camel Static Recipient List Using XML
<route> <from uri="jbi:endpoint:http://progress.com/demos/test/recipients/endpoint"/> <to uri="jbi:service:http://progress.com/demos/test/messageFilter"/> <to uri="jbi:service:http://progress.com/demos/test/trace4"/> </route>
Note
The preceding route configuration appears to have the same syntax as a Apache Camel pipeline pattern. The key difference is that the preceding route is intended for processing InOnly message exchanges, which are processed in a different way. See Section 4.4, “Pipes and Filters” for more details.
Equivalent Apache Camel Java DSL route
Example A.18, “Apache Camel Static Recipient List Using Java DSL” shows how to define an equivalent route using the Apache Camel Java DSL.
Example A.18. Apache Camel Static Recipient List Using Java DSL
from("jbi:endpoint:http://progress.com/demos/test/recipients/endpoint"). to("jbi:service:http://progress.com/demos/test/messageFilter", "jbi:service:http://progress.com/demos/test/trace4");