Class KafkaMessageDrivenChannelAdapterSpec<K,​V,​S extends KafkaMessageDrivenChannelAdapterSpec<K,​V,​S>>

Type Parameters:
K - the key type.
V - the value type.
S - the target KafkaMessageDrivenChannelAdapterSpec implementation type.
All Implemented Interfaces:
Aware, BeanClassLoaderAware, BeanFactoryAware, DisposableBean, FactoryBean<KafkaMessageDrivenChannelAdapter<K,​V>>, InitializingBean, Lifecycle, Phased, SmartLifecycle, ComponentsRegistration
Direct Known Subclasses:
KafkaMessageDrivenChannelAdapterSpec.KafkaMessageDrivenChannelAdapterListenerContainerSpec

public class KafkaMessageDrivenChannelAdapterSpec<K,​V,​S extends KafkaMessageDrivenChannelAdapterSpec<K,​V,​S>>
extends MessageProducerSpec<S,​KafkaMessageDrivenChannelAdapter<K,​V>>
implements ComponentsRegistration
Since:
5.4
Author:
Artem Bilan, Gary Russell, Cameron Mayfield
  • Method Details

    • messageConverter

      public S messageConverter​(org.springframework.kafka.support.converter.MessageConverter messageConverter)
      Set the message converter; must be a RecordMessageConverter or BatchMessageConverter depending on mode.
      Parameters:
      messageConverter - the converter.
      Returns:
      the spec
    • recordMessageConverter

      public S recordMessageConverter​(org.springframework.kafka.support.converter.RecordMessageConverter messageConverter)
      Set the message converter to use with a record-based consumer.
      Parameters:
      messageConverter - the converter.
      Returns:
      the spec
    • batchMessageConverter

      public S batchMessageConverter​(org.springframework.kafka.support.converter.BatchMessageConverter messageConverter)
      Set the message converter to use with a batch-based consumer.
      Parameters:
      messageConverter - the converter.
      Returns:
      the spec
    • recordFilterStrategy

      public S recordFilterStrategy​(org.springframework.kafka.listener.adapter.RecordFilterStrategy<K,​V> recordFilterStrategy)
      Specify a RecordFilterStrategy to wrap KafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListener into FilteringMessageListenerAdapter.
      Parameters:
      recordFilterStrategy - the RecordFilterStrategy to use.
      Returns:
      the spec
    • ackDiscarded

      public S ackDiscarded​(boolean ackDiscarded)
      A boolean flag to indicate if FilteringMessageListenerAdapter should acknowledge discarded records or not. Does not make sense if recordFilterStrategy(RecordFilterStrategy) isn't specified.
      Parameters:
      ackDiscarded - true to ack (commit offset for) discarded messages.
      Returns:
      the spec
    • retryTemplate

      public S retryTemplate​(org.springframework.retry.support.RetryTemplate retryTemplate)
      Specify a RetryTemplate instance to wrap KafkaMessageDrivenChannelAdapter.IntegrationRecordMessageListener into RetryingMessageListenerAdapter.
      Parameters:
      retryTemplate - the RetryTemplate to use.
      Returns:
      the spec
    • recoveryCallback

      public S recoveryCallback​(org.springframework.retry.RecoveryCallback<?> recoveryCallback)
      A RecoveryCallback instance for retry operation; if null, the exception will be thrown to the container after retries are exhausted. Does not make sense if retryTemplate(RetryTemplate) isn't specified.
      Parameters:
      recoveryCallback - the recovery callback.
      Returns:
      the spec
    • payloadType

      public S payloadType​(Class<?> payloadType)
      When using a type-aware message converter (such as StringJsonMessageConverter, set the payload type the converter should create. Defaults to Object.
      Parameters:
      payloadType - the type.
      Returns:
      the spec
    • filterInRetry

      public S filterInRetry​(boolean filterInRetry)
      The boolean flag to specify the order how RetryingMessageListenerAdapter and FilteringMessageListenerAdapter are wrapped to each other, if both of them are present. Does not make sense if only one of RetryTemplate or RecordFilterStrategy is present, or any.
      Parameters:
      filterInRetry - the order for RetryingMessageListenerAdapter and FilteringMessageListenerAdapter wrapping. Defaults to false.
      Returns:
      the spec
    • onPartitionsAssignedSeekCallback

      public S onPartitionsAssignedSeekCallback​(BiConsumer<Map<org.apache.kafka.common.TopicPartition,​Long>,​org.springframework.kafka.listener.ConsumerSeekAware.ConsumerSeekCallback> onPartitionsAssignedCallback)
      Specify a BiConsumer for seeks management during ConsumerSeekAware.onPartitionsAssigned(Map, ConsumerSeekAware.ConsumerSeekCallback) call from the KafkaMessageListenerContainer.
      Parameters:
      onPartitionsAssignedCallback - the BiConsumer to use
      Returns:
      the spec
    • getComponentsToRegister

      public Map<Object,​String> getComponentsToRegister()
      Specified by:
      getComponentsToRegister in interface ComponentsRegistration