The components are the main extension points in Camel. We don't directly use a component in a route, we define an endpoint from the component. This means a component acts as a factory for endpoints as follows:
First, you load the component in the Camel context
Then, in the route definition, you define an endpoint on a component loaded in the Camel context
You can explicitly instantiate a component and load it in the Camel context (using code), or Camel will try to create and load the component (discover) for you based on the endpoint definition.
Camel provides about 100 components (file, ftp, http, CXF, JMS, and so on) as you can see at http://camel.apache.org/components.html. You can create your own component, as we will see in the next chapters.
Using a component, we create the endpoints. An endpoint represents the end of a channel through which an external system can send or receive messages. It allows your Camel route to communicate with the environment...