The ProducerTemplate interface allows you to send message exchanges to endpoints in a variety of different ways to make it easy to work with Camel Endpoint instances from Java code.
It can be configured with a default endpoint if you just want to send lots of messages to the same endpoint; or you can specify an Endpoint or [URI] as the first parameter.
The sendBody() method allows you to send any object to an endpoint easily.
You can also supply an Exchange or a Processor to customize the exchange
The send*() methods use the default Message Exchange Pattern (InOnly, InOut etc) as the endpoint. If you want to explicitly perform a request/response (InOut) you can use the request*() methods instead of the send*() methods.
e.g. lets invoke an endpoint and get the response