Class KafkaMessageListenerContainer<K,​V>

  • Type Parameters:
    K - the key type.
    V - the value type.
    All Implemented Interfaces:
    org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationEventPublisherAware, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, GenericMessageListenerContainer<K,​V>, MessageListenerContainer

    public class KafkaMessageListenerContainer<K,​V>
    extends AbstractMessageListenerContainer<K,​V>
    Single-threaded Message listener container using the Java Consumer supporting auto-partition assignment or user-configured assignment.

    With the latter, initial partition offsets can be provided.

    Author:
    Gary Russell, Murali Reddy, Marius Bogoevici, Martin Dam, Artem Bilan, Loic Talhouarne, Vladimir Tsanev, Chen Binbin, Yang Qiju, Tom van den Berge, Lukasz Kaminski
    • Constructor Detail

      • KafkaMessageListenerContainer

        public KafkaMessageListenerContainer​(ConsumerFactory<? super K,​? super V> consumerFactory,
                                             ContainerProperties containerProperties)
        Construct an instance with the supplied configuration properties.
        Parameters:
        consumerFactory - the consumer factory.
        containerProperties - the container properties.
    • Method Detail

      • setEmergencyStop

        public void setEmergencyStop​(java.lang.Runnable emergencyStop)
        Set a Runnable to call whenever an Error occurs on a listener thread.
        Parameters:
        emergencyStop - the Runnable.
        Since:
        2.2.1
      • setClientIdSuffix

        public void setClientIdSuffix​(java.lang.String clientIdSuffix)
        Set a suffix to add to the client.id consumer property (if the consumer factory supports it).
        Parameters:
        clientIdSuffix - the suffix to add.
        Since:
        1.0.6
      • getAssignedPartitions

        @Nullable
        public java.util.Collection<org.apache.kafka.common.TopicPartition> getAssignedPartitions()
        Return the TopicPartitions currently assigned to this container, either explicitly or by Kafka; may be null if not assigned yet.
        Returns:
        the TopicPartitions currently assigned to this container, either explicitly or by Kafka; may be null if not assigned yet.
      • getAssignmentsByClientId

        @Nullable
        public java.util.Map<java.lang.String,​java.util.Collection<org.apache.kafka.common.TopicPartition>> getAssignmentsByClientId()
        Description copied from interface: MessageListenerContainer
        Return the assigned topics/partitions for this container, by client.id.
        Returns:
        the topics/partitions.
      • isContainerPaused

        public boolean isContainerPaused()
        Description copied from interface: MessageListenerContainer
        Return true if MessageListenerContainer.pause() has been called; and all consumers in this container have actually paused.
        Returns:
        true if the container is paused.
      • metrics

        public java.util.Map<java.lang.String,​java.util.Map<org.apache.kafka.common.MetricName,​? extends org.apache.kafka.common.Metric>> metrics()
        Description copied from interface: MessageListenerContainer
        Return metrics kept by this container's consumer(s), grouped by client-id.
        Returns:
        the consumer(s) metrics grouped by client-id
        See Also:
        Consumer.metrics()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object