org.apache.camel.spi
Interface AggregationRepository

All Known Subinterfaces:
OptimisticLockingAggregationRepository, RecoverableAggregationRepository
All Known Implementing Classes:
MemoryAggregationRepository

public interface AggregationRepository

Access to a repository to store aggregated exchanges to support pluggable implementations.

Version:

Method Summary
 Exchange add(CamelContext camelContext, String key, Exchange exchange)
          Add the given Exchange under the correlation key.
 void confirm(CamelContext camelContext, String exchangeId)
          Confirms the completion of the Exchange.
 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.

 Set<String> getKeys()
          Gets the keys currently in the repository.
 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.

 

Method Detail

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


Apache Camel