# Recipient List

**In short:** Recipient List is a routing pattern for sending one message to a list of recipients that is decided dynamically. Apache Camel offers it, and Scatter-Gather can use it to send requests.

## Explanation

Sometimes one message must reach several receivers, and the set of receivers is not fixed in advance. The Recipient List pattern solves this. It routes a message to a list of dynamically specified recipients.

The pattern belongs to message routing. See the articles Message Routing and Enterprise Integration Patterns for the wider picture.

**In Apache Camel.** The Recipient List EIP (Enterprise Integration Pattern) takes the list of recipients and forwards the message to all channels tied to those recipients. A channel is the path a message travels to reach a receiver. See Message Channel.

**In Scatter-Gather.** Scatter-Gather sends a request out to several parties and then collects the answers. See Scatter/Gather. It can use a Recipient List to distribute those requests. This lets Scatter-Gather control which recipients get the request.

## Example

An order system must ask for price quotes. The list of suppliers to ask changes from order to order. The system builds a list of suppliers for each order. A router then forwards the quote request to the channel of every supplier on that list.

A router forwards the message to the channel of each recipient on the list.

```mermaid
flowchart LR
  S[Sender] --> R[Recipient List router]
  R -->|copy| A[Channel of recipient A]
  R -->|copy| B[Channel of recipient B]
  R -->|copy| C[Channel of recipient C]
```

## Checks

- Where one message must reach a dynamically chosen set of receivers, the document names Recipient List as the routing approach.
- Where Scatter-Gather is used, the document states whether a Recipient List distributes the requests and so controls the recipients.

## Related

- [Message Routing](https://arc.fuet.ch/concepts/integration/message-routing.md)
- [Scatter/Gather](https://arc.fuet.ch/concepts/integration/scatter-gather.md)
- [Message Channel](https://arc.fuet.ch/concepts/integration/message-channel.md)
- [Enterprise Integration Patterns](https://arc.fuet.ch/concepts/integration/messaging-pattern-language.md)
- [Publish/Subscribe Channel](https://arc.fuet.ch/concepts/integration/publish-subscribe-channel.md)
- [Content-based Router](https://arc.fuet.ch/concepts/integration/content-based-router.md)

## Sources

- [Recipient List - Enterprise Integration Patterns](https://www.enterpriseintegrationpatterns.com/patterns/messaging/RecipientList.html) — enterpriseintegrationpatterns.com, accessed 2026-11-09
- [Recipient List :: Apache Camel](https://camel.apache.org/components/4.22.x/eips/recipientList-eip.html) — camel.apache.org, accessed 2026-11-09
- [Scatter-Gather - Enterprise Integration Patterns](https://www.enterpriseintegrationpatterns.com/patterns/messaging/BroadcastAggregate.html) — enterpriseintegrationpatterns.com, accessed 2026-11-09
