Interface AggregationRepository

    • 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