Message Exchange

A request message and its corresponding reply or exception message is represented in Camel using the Exchange interface. This interface provides an abstraction for this pattern of communication between systems. The presence of a reply message is optional and depends on the exchange pattern used in the integration. Thanks to this, Apache Camel can support different integration patterns such as:

Implementation Details

There are concrete classes that implement the Exchange interface for each Camel-supported communications technology. For example, the JmsExchange class provides a JMS-specific implementation of the Exchange interface. The public API of the Exchange interface is limited intentionally: we expect that each class that implements this interface will provide its own technology-specific operations.

Application-level programmers rarely access the Exchange interface (or classes that implement it) directly. However, many classes in Camel are generic types that are instantiated on (a class that implements) Exchange. Because of this, the Exchange interface appears a lot in the generic signatures of classes and methods.