...
You can explicitly configure Component instances in an IoC container like Spring or Guice, or they can be auto-discovered using URIs. A Component is essentially a factory of Endpoint instances. An individual Endpoint acts rather like a URI in a web application or a Destination in a JMS system; you can communicate with an endpoint; either sending messages to it or consuming messages from it. You can then create a Producer or Consumer of an Endpoint to exchange messages with it.
...