Package com.bakdata.kafka.util
Class ConsumerGroupClient
- java.lang.Object
-
- com.bakdata.kafka.util.ConsumerGroupClient
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable
public final class ConsumerGroupClient extends java.lang.Object implements java.io.CloseableThis 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 voidclose()static ConsumerGroupClientcreate(java.util.Map<java.lang.String,java.lang.Object> configs, java.time.Duration timeout)Creates a newConsumerGroupClientusing the specified configuration.static ConsumerGroupClientcreate(java.util.Properties configs, java.time.Duration timeout)Creates a newConsumerGroupClientusing the specified configuration.voiddeleteConsumerGroup(java.lang.String groupName)Delete a consumer group.voiddeleteGroupIfExists(java.lang.String groupName)Delete a consumer group only if it exists.booleanexists(java.lang.String groupName)Checks whether a Kafka consumer group exists.java.util.Collection<org.apache.kafka.clients.admin.ConsumerGroupListing>listGroups()List consumer groups.
-
-
-
Method Detail
-
create
public static ConsumerGroupClient create(java.util.Map<java.lang.String,java.lang.Object> configs, java.time.Duration timeout)
Creates a newConsumerGroupClientusing the specified configuration.- Parameters:
configs- properties passed toAdminClient.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 newConsumerGroupClientusing the specified configuration.- Parameters:
configs- properties passed toAdminClient.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:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.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
-
-