Interface AggregationRepository

All Known Subinterfaces:
OptimisticLockingAggregationRepository, RecoverableAggregationRepository

public interface AggregationRepository
Access to a repository to store aggregated exchanges to support pluggable implementations.
  • Method Details

    • add

      Exchange add(CamelContext camelContext, String key, Exchange exchange)
      Add the given Exchange under the correlation key.

      Will replace any existing exchange.

      Important: This method is not invoked if only one exchange was completed, and therefore the exchange does not need to be added to a repository, as its completed immediately.

      Parameters:
      camelContext - the current CamelContext
      key - the correlation key
      exchange - the aggregated exchange
      Returns:
      the old exchange if any existed
    • get

      Exchange get(CamelContext camelContext, String key)
      Gets the given exchange with the correlation key

      This method is always invoked for any incoming exchange in the aggregator.

      Parameters:
      camelContext - the current CamelContext
      key - the correlation key
      Returns:
      the exchange, or null if no exchange was previously added
    • remove

      void remove(CamelContext camelContext, String key, Exchange exchange)
      Removes the exchange with the given correlation key, which should happen when an Exchange is completed

      Important: This method is not invoked if only one exchange was completed, and therefore the exchange does not need to be added to a repository, as its completed immediately.

      Parameters:
      camelContext - the current CamelContext
      key - the correlation key
      exchange - the exchange to remove
    • confirm

      void confirm(CamelContext camelContext, String exchangeId)
      Confirms the completion of the Exchange.

      This method is always invoked.

      Parameters:
      camelContext - the current CamelContext
      exchangeId - exchange id to confirm
    • getKeys

      Set<String> getKeys()
      Gets the keys currently in the repository.
      Returns:
      the keys