Interface RecoverableAggregationRepository

    • Method Detail

      • scan

        Set<String> scan​(CamelContext camelContext)
        Scans the repository for Exchanges 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 CamelContext
        exchangeId - 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 interval
        timeUnit - 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 recovered Exchange 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 recovered Exchange should be attempted, before its exhausted.

        When this limit is hit, then the Exchange 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 recovered Exchange 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 the Exchange 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 CamelContext
        exchangeId - exchange id to confirm
        Returns:
        true if the exchange was successfully removed, else false.