Class ProducerMetadata

java.lang.Object
org.apache.kafka.clients.Metadata
org.apache.kafka.clients.producer.internals.ProducerMetadata
All Implemented Interfaces:
Closeable, AutoCloseable

public class ProducerMetadata extends org.apache.kafka.clients.Metadata
  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.kafka.clients.Metadata

    org.apache.kafka.clients.Metadata.LeaderAndEpoch, org.apache.kafka.clients.Metadata.LeaderIdAndEpoch, org.apache.kafka.clients.Metadata.MetadataRequestAndVersion
  • Constructor Summary

    Constructors
    Constructor
    Description
    ProducerMetadata(long refreshBackoffMs, long refreshBackoffMaxMs, long metadataExpireMs, long metadataIdleMs, org.apache.kafka.common.utils.LogContext logContext, org.apache.kafka.common.internals.ClusterResourceListeners clusterResourceListeners, org.apache.kafka.common.utils.Time time)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(String topic, long nowMs)
     
    void
    awaitUpdate(int lastVersion, long timeoutMs)
    Wait for metadata update until the current version is larger than the last version we know of
    void
    Close this instance and notify any awaiting threads.
    boolean
     
    void
    fatalError(org.apache.kafka.common.KafkaException fatalException)
     
    org.apache.kafka.common.requests.MetadataRequest.Builder
     
    org.apache.kafka.common.requests.MetadataRequest.Builder
     
    int
     
    boolean
    retainTopic(String topic, boolean isInternal, long nowMs)
     
    void
    update(int requestVersion, org.apache.kafka.common.requests.MetadataResponse response, boolean isPartialUpdate, long nowMs)
     

    Methods inherited from class org.apache.kafka.clients.Metadata

    addClusterUpdateListener, bootstrap, currentLeader, failedUpdate, fetch, isClosed, lastSeenLeaderEpoch, lastSuccessfulUpdate, maybeThrowAnyException, maybeThrowExceptionForTopic, maybeThrowFatalException, metadataExpireMs, newMetadataRequestAndVersion, requestUpdate, requestUpdateForNewTopics, timeToAllowUpdate, timeToNextUpdate, topicIds, topicNames, updateLastSeenEpochIfNewer, updatePartitionLeadership, updateRequested, updateVersion, updateWithCurrentRequestVersion

    Methods inherited from class java.lang.Object

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

    • ProducerMetadata

      public ProducerMetadata(long refreshBackoffMs, long refreshBackoffMaxMs, long metadataExpireMs, long metadataIdleMs, org.apache.kafka.common.utils.LogContext logContext, org.apache.kafka.common.internals.ClusterResourceListeners clusterResourceListeners, org.apache.kafka.common.utils.Time time)
  • Method Details

    • newMetadataRequestBuilder

      public org.apache.kafka.common.requests.MetadataRequest.Builder newMetadataRequestBuilder()
      Overrides:
      newMetadataRequestBuilder in class org.apache.kafka.clients.Metadata
    • newMetadataRequestBuilderForNewTopics

      public org.apache.kafka.common.requests.MetadataRequest.Builder newMetadataRequestBuilderForNewTopics()
      Overrides:
      newMetadataRequestBuilderForNewTopics in class org.apache.kafka.clients.Metadata
    • add

      public void add(String topic, long nowMs)
    • requestUpdateForTopic

      public int requestUpdateForTopic(String topic)
    • containsTopic

      public boolean containsTopic(String topic)
    • retainTopic

      public boolean retainTopic(String topic, boolean isInternal, long nowMs)
      Overrides:
      retainTopic in class org.apache.kafka.clients.Metadata
    • awaitUpdate

      public void awaitUpdate(int lastVersion, long timeoutMs) throws InterruptedException
      Wait for metadata update until the current version is larger than the last version we know of
      Throws:
      InterruptedException
    • update

      public void update(int requestVersion, org.apache.kafka.common.requests.MetadataResponse response, boolean isPartialUpdate, long nowMs)
      Overrides:
      update in class org.apache.kafka.clients.Metadata
    • fatalError

      public void fatalError(org.apache.kafka.common.KafkaException fatalException)
      Overrides:
      fatalError in class org.apache.kafka.clients.Metadata
    • close

      public void close()
      Close this instance and notify any awaiting threads.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Overrides:
      close in class org.apache.kafka.clients.Metadata