blob: 9d2b1c3ea64cc448789122d18e4e8cdf474c10de [file] [log] [blame]
[[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.