Class ConsumerPartitionAssignor.Subscription

java.lang.Object
org.apache.kafka.clients.consumer.ConsumerPartitionAssignor.Subscription
Enclosing interface:
ConsumerPartitionAssignor

public static final class ConsumerPartitionAssignor.Subscription extends Object
Represents a consumer's subscription information including topics, user data, and owned partitions.
  • Constructor Details

    • Subscription

      public Subscription(List<String> topics, ByteBuffer userData, List<TopicPartition> ownedPartitions, int generationId, Optional<String> rackId)
      Constructs a subscription with full details.
      Parameters:
      topics - The list of topics to subscribe to
      userData - Nullable user data to include in the subscription
      ownedPartitions - The partitions currently owned by this consumer
      generationId - The generation ID of the consumer group
      rackId - Optional rack ID for rack-aware assignment
    • Subscription

      public Subscription(List<String> topics, ByteBuffer userData, List<TopicPartition> ownedPartitions)
      Constructs a subscription without generation ID and rack ID.
      Parameters:
      topics - The list of topics to subscribe to
      userData - Nullable user data to include in the subscription
      ownedPartitions - The partitions currently owned by this consumer
    • Subscription

      public Subscription(List<String> topics, ByteBuffer userData)
      Constructs a subscription without owned partitions.
      Parameters:
      topics - The list of topics to subscribe to
      userData - Nullable user data to include in the subscription
    • Subscription

      public Subscription(List<String> topics)
      Constructs a basic subscription with only topics.
      Parameters:
      topics - The list of topics to subscribe to
  • Method Details

    • topics

      public List<String> topics()
      Returns the list of topics subscribed to.
      Returns:
      The list of topics
    • userData

      public ByteBuffer userData()
      Returns the user data included in the subscription.
      Returns:
      The user data, or null if none was provided
    • ownedPartitions

      public List<TopicPartition> ownedPartitions()
      Returns the partitions currently owned by this consumer.
      Returns:
      The list of owned partitions
    • rackId

      public Optional<String> rackId()
      Returns the rack ID for rack-aware assignment.
      Returns:
      The rack ID, or empty if not provided
    • setGroupInstanceId

      public void setGroupInstanceId(Optional<String> groupInstanceId)
      Sets the group instance ID for static membership.
      Parameters:
      groupInstanceId - The group instance ID
    • groupInstanceId

      public Optional<String> groupInstanceId()
      Returns the group instance ID if this is a static member.
      Returns:
      The group instance ID, or empty if this is a dynamic member
    • generationId

      public Optional<Integer> generationId()
      Returns the generation ID of the consumer group.
      Returns:
      The generation ID, or empty if not provided
    • toString

      public String toString()
      Overrides:
      toString in class Object