Package org.apache.camel.spi
Interface RecoverableAggregationRepository
-
- All Superinterfaces:
AggregationRepository
public interface RecoverableAggregationRepository extends AggregationRepository
A specializedAggregationRepository
which also supports recovery. This usually requires a repository which is persisted.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default boolean
confirmWithResult(CamelContext camelContext, String exchangeId)
Confirms the completion of theExchange
with a result.String
getDeadLetterUri()
Gets the dead letter channelint
getMaximumRedeliveries()
Gets the maximum redelivery attempts to do before a recoveredExchange
is doomed as exhausted and moved to the dead letter channel.long
getRecoveryIntervalInMillis()
Gets the interval between recovery scans in millis.boolean
isUseRecovery()
Whether or not recovery is enabled or notExchange
recover(CamelContext camelContext, String exchangeId)
Recovers the exchange with the given exchange idSet<String>
scan(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)
Sets the interval between recovery scansvoid
setUseRecovery(boolean useRecovery)
Sets whether or not recovery is enabled
-
-
-
Method Detail
-
scan
Set<String> scan(CamelContext camelContext)
Scans the repository forExchange
s to be recovered- Parameters:
camelContext
- the current CamelContext- Returns:
- the exchange ids for to be recovered
-
recover
Exchange recover(CamelContext camelContext, String exchangeId)
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
void setRecoveryInterval(long interval, TimeUnit timeUnit)
Sets 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
-
getRecoveryIntervalInMillis
long getRecoveryIntervalInMillis()
Gets 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
void setDeadLetterUri(String deadLetterUri)
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
default boolean confirmWithResult(CamelContext camelContext, String exchangeId)
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.
-
-