Package org.apache.camel.spi
Interface AggregationRepository
- All Known Subinterfaces:
OptimisticLockingAggregationRepository,RecoverableAggregationRepository
public interface AggregationRepository
Access to a repository to store aggregated exchanges to support pluggable implementations.
-
Method Summary
Modifier and TypeMethodDescriptionadd(CamelContext camelContext, String key, Exchange exchange) Add the givenExchangeunder the correlation key.voidconfirm(CamelContext camelContext, String exchangeId) Confirms the completion of theExchange.get(CamelContext camelContext, String key) Gets the given exchange with the correlation keygetKeys()Gets the keys currently in the repository.voidremove(CamelContext camelContext, String key, Exchange exchange) Removes the exchange with the given correlation key, which should happen when anExchangeis completed
-
Method Details
-
add
Add the givenExchangeunder 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 CamelContextkey- the correlation keyexchange- the aggregated exchange- Returns:
- the old exchange if any existed
-
get
Gets the given exchange with the correlation key This method is always invoked for any incoming exchange in the aggregator.- Parameters:
camelContext- the current CamelContextkey- the correlation key- Returns:
- the exchange, or null if no exchange was previously added
-
remove
Removes the exchange with the given correlation key, which should happen when anExchangeis 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 CamelContextkey- the correlation keyexchange- the exchange to remove
-
confirm
Confirms the completion of theExchange. This method is always invoked.- Parameters:
camelContext- the current CamelContextexchangeId- exchange id to confirm
-
getKeys
Gets the keys currently in the repository.- Returns:
- the keys
-