Class ConditionalDelegatingBatchErrorHandler

    • Constructor Detail

      • ConditionalDelegatingBatchErrorHandler

        public ConditionalDelegatingBatchErrorHandler​(ContainerAwareBatchErrorHandler defaultErrorHandler)
        Construct an instance with a default error handler that will be invoked if the exception has no matches.
        Parameters:
        defaultErrorHandler - the default error handler.
    • Method Detail

      • setErrorHandlers

        public void setErrorHandlers​(java.util.Map<java.lang.Class<? extends java.lang.Throwable>,​ContainerAwareBatchErrorHandler> delegates)
        Set the delegate error handlers; a LinkedHashMap argument is recommended so that the delegates are searched in a known order.
        Parameters:
        delegates - the delegates.
      • addDelegate

        public void addDelegate​(java.lang.Class<? extends java.lang.Throwable> throwable,
                                ContainerAwareBatchErrorHandler handler)
        Add a delegate to the end of the current collection.
        Parameters:
        throwable - the throwable for this handler.
        handler - the handler.
      • handle

        public void handle​(java.lang.Exception thrownException,
                           org.apache.kafka.clients.consumer.ConsumerRecords<?,​?> records,
                           org.apache.kafka.clients.consumer.Consumer<?,​?> consumer,
                           MessageListenerContainer container,
                           java.lang.Runnable invokeListener)
        Description copied from interface: ContainerAwareBatchErrorHandler
        Handle the exception.
        Specified by:
        handle in interface BatchErrorHandler
        Specified by:
        handle in interface ContainerAwareBatchErrorHandler
        Parameters:
        thrownException - the exception.
        records - the consumer records.
        consumer - the consumer.
        container - the container.
        invokeListener - a callback to re-invoke the listener.
      • doHandle

        protected void doHandle​(java.lang.Exception thrownException,
                                org.apache.kafka.clients.consumer.ConsumerRecords<?,​?> records,
                                org.apache.kafka.clients.consumer.Consumer<?,​?> consumer,
                                MessageListenerContainer container,
                                @Nullable
                                java.lang.Runnable invokeListener)