Package org.apache.camel.spi
Interface RecoverableAggregationRepository
- All Superinterfaces:
AggregationRepository
A specialized
AggregationRepository
which also supports recovery. This usually requires
a repository which is persisted.-
Method Summary
Modifier and TypeMethodDescriptiondefault boolean
confirmWithResult
(CamelContext camelContext, String exchangeId) Confirms the completion of theExchange
with a result.Gets the dead letter channelint
Gets the maximum redelivery attempts to do before a recoveredExchange
is doomed as exhausted and moved to the dead letter channel.long
Gets the interval between recovery scans in millis.default long
Deprecated.use getRecoveryIntervalboolean
Whether or not recovery is enabled or notrecover
(CamelContext camelContext, String exchangeId) Recovers the exchange with the given exchange idscan
(CamelContext camelContext) Scans the repository forExchange
s to be recoveredvoid
setDeadLetterUri
(String deadLetterUri) Sets an optional dead letter channel which exhausted recoveredExchange
should be send to.void
setMaximumRedeliveries
(int maximumRedeliveries) Sets an optional limit of the number of redelivery attempt of recoveredExchange
should be attempted, before its exhausted.void
setRecoveryInterval
(long interval) Sets the interval between recovery scansvoid
setRecoveryInterval
(long interval, TimeUnit timeUnit) Deprecated.use setRecoveryIntervalvoid
setUseRecovery
(boolean useRecovery) Sets whether or not recovery is enabled
-
Method Details
-
scan
Scans the repository forExchange
s to be recovered- Parameters:
camelContext
- the current CamelContext- Returns:
- the exchange ids for to be recovered
-
recover
Recovers the exchange with the given exchange id- Parameters:
camelContext
- the current CamelContextexchangeId
- exchange id- Returns:
- the recovered exchange or null if not found
-
setRecoveryInterval
Deprecated.use setRecoveryIntervalSets the interval between recovery scans- Parameters:
interval
- the intervaltimeUnit
- the time unit
-
setRecoveryInterval
void setRecoveryInterval(long interval) Sets the interval between recovery scans- Parameters:
interval
- the interval in millis
-
getRecoveryInterval
long getRecoveryInterval()Gets the interval between recovery scans in millis.- Returns:
- the interval in millis
-
getRecoveryIntervalInMillis
Deprecated.use getRecoveryIntervalGets the interval between recovery scans in millis.- Returns:
- the interval in millis
-
setUseRecovery
void setUseRecovery(boolean useRecovery) Sets whether or not recovery is enabled- Parameters:
useRecovery
- whether or not recovery is enabled
-
isUseRecovery
boolean isUseRecovery()Whether or not recovery is enabled or not- Returns:
- true to use recovery, false otherwise.
-
setDeadLetterUri
Sets an optional dead letter channel which exhausted recoveredExchange
should be send to. By default this option is disabled- Parameters:
deadLetterUri
- the uri of the dead letter channel
-
getDeadLetterUri
String getDeadLetterUri()Gets the dead letter channel- Returns:
- the uri of the dead letter channel
-
setMaximumRedeliveries
void setMaximumRedeliveries(int maximumRedeliveries) Sets an optional limit of the number of redelivery attempt of recoveredExchange
should be attempted, before its exhausted. When this limit is hit, then theExchange
is moved to the dead letter channel. By default this option is disabled- Parameters:
maximumRedeliveries
- the maximum redeliveries
-
getMaximumRedeliveries
int getMaximumRedeliveries()Gets the maximum redelivery attempts to do before a recoveredExchange
is doomed as exhausted and moved to the dead letter channel.- Returns:
- the maximum redeliveries
-
confirmWithResult
Confirms the completion of theExchange
with a result. This method is invoked instead of confirm() if the repository is recoverable. This allows possible recovery of non-confirmed completed exchanges.- Parameters:
camelContext
- the current CamelContextexchangeId
- exchange id to confirm- Returns:
- true if the exchange was successfully removed, else false.
-