Integration / Apache Camel Interview Questions
What is the Multicast EIP and how does it differ from Recipient List?
The Multicast EIP sends a copy of the current message to a fixed, statically defined list of endpoints. It is declared at route build time. Recipient List, by contrast, resolves the destination list dynamically from the message at runtime. Use Multicast when you always fan out to the same set of endpoints regardless of message content.
// Multicast to two fixed endpoints (sequential by default):
from("direct:order")
.multicast()
.to("jms:queue:billing", "jms:queue:shipping", "jms:queue:analytics")
.end();
// Parallel processing with aggregation:
from("direct:enrich")
.multicast(new MergeStrategy())
.parallelProcessing()
.to("direct:getCreditScore", "direct:getAddress", "direct:getHistory")
.end();| Aspect | Multicast | Recipient List |
|---|---|---|
| Destination list | Fixed at build time in the route definition | Computed from message header/expression at runtime |
| Typical use | Always fan out to the same set | Subscription-based or tenant-aware routing |
| Parallelism | Optional via parallelProcessing() | Optional via parallelProcessing() |
| Aggregation | Optional AggregationStrategy | Optional AggregationStrategy |
More Related questions...