Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0

...

First of all a caller can initiate a message exchange as either:

Request only is when the caller sends a message but do not expect any reply. This is also known as fire and forget or event message.

...

For all message exchange they can be executed either:

  • synchronous
  • asynchronous

Synchronous Request Reply

...

Warning
titleTransactions and threads DSL

Mind that when using transactions its often required that the Exchange is processed entirely in the same thread, as the transaction manager often uses ThreadLocal to store the intermediate transaction status. For instance Spring Transaction does this. So when using threads DSL the Exchange that is processed in the async thread cannot participate in the same transaction as the caller thread.

Notice: This does not apply to the ProducerTemplate Async API as such as the client usually does not participate in a transaction. So you can still use the Camel Client Async API and do async messaging where the processing of the Exchange is still handled within transaction. Its only the client that submitted the Exchange that does not participate in the same transaction.

See Also