Example usage for org.springframework.kafka.listener.adapter RetryingMessageListenerAdapter RetryingMessageListenerAdapter

List of usage examples for org.springframework.kafka.listener.adapter RetryingMessageListenerAdapter RetryingMessageListenerAdapter

Introduction

In this page you can find the example usage for org.springframework.kafka.listener.adapter RetryingMessageListenerAdapter RetryingMessageListenerAdapter.

Prototype

public RetryingMessageListenerAdapter(MessageListener<K, V> messageListener, RetryTemplate retryTemplate,
        RecoveryCallback<? extends Object> recoveryCallback, boolean stateful) 

Source Link

Document

Construct an instance with the provided template, callback and delegate.

Usage

From source file:org.springframework.kafka.config.AbstractKafkaListenerEndpoint.java

@SuppressWarnings("unchecked")
private void setupMessageListener(MessageListenerContainer container, MessageConverter messageConverter) {
    MessagingMessageListenerAdapter<K, V> adapter = createMessageListener(container, messageConverter);
    if (this.replyHeadersConfigurer != null) {
        adapter.setReplyHeadersConfigurer(this.replyHeadersConfigurer);
    }/*  www.  j  a  v  a 2 s  . com*/
    Object messageListener = adapter;
    Assert.state(messageListener != null, "Endpoint [" + this + "] must provide a non null message listener");
    if (this.retryTemplate != null) {
        messageListener = new RetryingMessageListenerAdapter<>((MessageListener<K, V>) messageListener,
                this.retryTemplate, this.recoveryCallback, this.statefulRetry);
    }
    if (this.recordFilterStrategy != null) {
        if (this.batchListener) {
            if (((MessagingMessageListenerAdapter<K, V>) messageListener).isConsumerRecords()) {
                if (this.logger.isWarnEnabled()) {
                    this.logger.warn("Filter strategy ignored when consuming 'ConsumerRecords'"
                            + (this.id != null ? " id: " + this.id : ""));
                }
            } else {
                messageListener = new FilteringBatchMessageListenerAdapter<>(
                        (BatchMessageListener<K, V>) messageListener, this.recordFilterStrategy,
                        this.ackDiscarded);
            }
        } else {
            messageListener = new FilteringMessageListenerAdapter<>((MessageListener<K, V>) messageListener,
                    this.recordFilterStrategy, this.ackDiscarded);
        }
    }
    container.setupMessageListener(messageListener);
}