Interface Consumer

All Superinterfaces:
AutoCloseable, EndpointAware, Service
All Known Subinterfaces:
BatchConsumer, PollingConsumer

public interface Consumer extends Service, EndpointAware
A consumer of message exchanges from an Endpoint.

Important: Do not do any initialization in the constructor. Instead use BaseService.doInit() or BaseService.doStart().

  • Method Details

    • getProcessor

      Processor getProcessor()
      The processor that will process the Exchange that was consumed.
    • createExchange

      Exchange createExchange(boolean autoRelease)
      Creates an Exchange that was consumed.

      Important: If the auto release parameter is set to false then the consumer is responsible for calling the releaseExchange(Exchange, boolean) when the Exchange is done being routed. This is for advanced consumers that need to have this control in their own hands. For normal use-cases then a consumer can use autoRelease true and then Camel will automatic release the exchange after routing.

      Parameters:
      autoRelease - whether to auto release the exchange when routing is complete via UnitOfWork
    • releaseExchange

      void releaseExchange(Exchange exchange, boolean autoRelease)
      Releases the Exchange when its completed processing and no longer needed.
      Parameters:
      exchange - the exchange
      autoRelease - whether the exchange was created with auto release
    • defaultConsumerCallback

      default AsyncCallback defaultConsumerCallback(Exchange exchange, boolean autoRelease)
      The default callback to use with the consumer when calling the processor using asynchronous routing. This implementation will use ExceptionHandler to handle any exception on the exchange and afterwards release the exchange.
      Parameters:
      exchange - the exchange
      autoRelease - whether the exchange was created with auto release
      Returns:
      the default callback