Class ConsumerGroupClient

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public final class ConsumerGroupClient
    extends java.lang.Object
    implements java.io.Closeable
    This class offers helpers to interact with Kafka consumer groups.
    • Constructor Summary

      Constructors 
      Constructor Description
      ConsumerGroupClient​(@NonNull org.apache.kafka.clients.admin.AdminClient adminClient, @NonNull java.time.Duration timeout)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      static ConsumerGroupClient create​(java.util.Map<java.lang.String,​java.lang.Object> configs, java.time.Duration timeout)
      Creates a new ConsumerGroupClient using the specified configuration.
      static ConsumerGroupClient create​(java.util.Properties configs, java.time.Duration timeout)
      Creates a new ConsumerGroupClient using the specified configuration.
      void deleteConsumerGroup​(java.lang.String groupName)
      Delete a consumer group.
      void deleteGroupIfExists​(java.lang.String groupName)
      Delete a consumer group only if it exists.
      boolean exists​(java.lang.String groupName)
      Checks whether a Kafka consumer group exists.
      java.util.Collection<org.apache.kafka.clients.admin.ConsumerGroupListing> listGroups()
      List consumer groups.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ConsumerGroupClient

        public ConsumerGroupClient​(@NonNull
                                   @NonNull org.apache.kafka.clients.admin.AdminClient adminClient,
                                   @NonNull
                                   @NonNull java.time.Duration timeout)
    • Method Detail

      • create

        public static ConsumerGroupClient create​(java.util.Map<java.lang.String,​java.lang.Object> configs,
                                                 java.time.Duration timeout)
        Creates a new ConsumerGroupClient using the specified configuration.
        Parameters:
        configs - properties passed to AdminClient.create(Map)
        timeout - timeout for waiting for Kafka admin calls
        Returns:
        ConsumerGroupClient
      • create

        public static ConsumerGroupClient create​(java.util.Properties configs,
                                                 java.time.Duration timeout)
        Creates a new ConsumerGroupClient using the specified configuration.
        Parameters:
        configs - properties passed to AdminClient.create(Properties)
        timeout - timeout for waiting for Kafka admin calls
        Returns:
        ConsumerGroupClient
      • deleteConsumerGroup

        public void deleteConsumerGroup​(java.lang.String groupName)
        Delete a consumer group.
        Parameters:
        groupName - the consumer group name
      • close

        public void close()
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
      • exists

        public boolean exists​(java.lang.String groupName)
        Checks whether a Kafka consumer group exists.
        Parameters:
        groupName - the consumer group name
        Returns:
        whether a Kafka consumer group with the specified name exists or not
      • listGroups

        public java.util.Collection<org.apache.kafka.clients.admin.ConsumerGroupListing> listGroups()
        List consumer groups.
        Returns:
        consumer groups
      • deleteGroupIfExists

        public void deleteGroupIfExists​(java.lang.String groupName)
        Delete a consumer group only if it exists.
        Parameters:
        groupName - the consumer group name