| [[Whatisarouter-Whatisarouter]] |
| = What is a router? |
| |
| We often talk about that Camel is a mediation and routing framework; so |
| what exactly is a router and what does it do? |
| |
| Basically a router just consumes xref:{eip-vc}:eips:message.adoc[Message] exchanges |
| from some xref:ROOT:endpoint.adoc[Endpoint], then sends them on to some other |
| xref:ROOT:endpoint.adoc[Endpoint] using some kind of |
| xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration |
| Patterns]. |
| |
| For example a router could implement the |
| xref:{eip-vc}:eips:content-based-router-eip.adoc[Content Based Router] pattern, to route |
| from an endpoint to one or more destination endpoints using a |
| xref:ROOT:predicate.adoc[Predicate] based on the message content. |
| |
| Typically a route or router consists of one or more consumers; either an |
| xref:{eip-vc}:eips:eventDrivenConsumer-eip.adoc[Event Driven Consumer] or a |
| xref:{eip-vc}:eips:polling-consumer.adoc[Polling Consumer] or possibly a |
| xref:{eip-vc}:eips:transactional-client.adoc[Transactional Client]. Then there are one |
| or more xref:ROOT:processor.adoc[Processor] instances which could send the |
| message to one or more endpoints. |