It’s important to remember that an Endpoint
, created by a Component
(i.e. Endpoint Factory), can sit at either end of a Camel Route
. If you put the Component at the start of a route then there must be an implementation of the Consumer
part of the Component. This does the work of converting the specific input/request (like an HTTP request) into something generic – a Camel Exchange
– that can travel down a Route. Whereas if you put the Component at end of a route then you must have an implementation of a Producer
. The Producer does the work of taking the Exchange from the end of a route and converting it into something specific (like a JMS message).
I find the Fuse ESB documentation to be better (in general) than the Apache Camel website. From the Fuse ESB Component page:
Consumer endpoints consume requests. They always appear at the start
of a route and they encapsulate the code responsible for receiving
incoming requests and dispatching outgoing replies.Producer endpoints produce requests. They always appears at the end of
a route and they encapsulate the code responsible for dispatching
outgoing requests and receiving incoming replies.