Class ProducerBase<T>

java.lang.Object
org.apache.pulsar.client.impl.ProducerBase<T>
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.pulsar.client.api.Producer<T>
Direct Known Subclasses:
PartitionedProducerImpl, ProducerImpl

public abstract class ProducerBase<T> extends Object implements org.apache.pulsar.client.api.Producer<T>
  • Field Details

    • producerCreatedFuture

      protected final CompletableFuture<org.apache.pulsar.client.api.Producer<T>> producerCreatedFuture
    • conf

      protected final ProducerConfigurationData conf
    • schema

      protected final org.apache.pulsar.client.api.Schema<T> schema
    • interceptors

      protected final ProducerInterceptors interceptors
    • schemaCache

      protected final org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<org.apache.pulsar.common.protocol.schema.SchemaHash,byte[]> schemaCache
    • multiSchemaMode

      protected volatile ProducerBase.MultiSchemaMode multiSchemaMode
    • client

      protected final PulsarClientImpl client
    • topic

      protected final String topic
  • Constructor Details

  • Method Details

    • send

      public org.apache.pulsar.client.api.MessageId send(T message) throws org.apache.pulsar.client.api.PulsarClientException
      Specified by:
      send in interface org.apache.pulsar.client.api.Producer<T>
      Throws:
      org.apache.pulsar.client.api.PulsarClientException
    • sendAsync

      public CompletableFuture<org.apache.pulsar.client.api.MessageId> sendAsync(T message)
      Specified by:
      sendAsync in interface org.apache.pulsar.client.api.Producer<T>
    • sendAsync

      public CompletableFuture<org.apache.pulsar.client.api.MessageId> sendAsync(org.apache.pulsar.client.api.Message<?> message)
    • newMessage

      public org.apache.pulsar.client.api.TypedMessageBuilder<T> newMessage()
      Specified by:
      newMessage in interface org.apache.pulsar.client.api.Producer<T>
    • newMessage

      public <V> org.apache.pulsar.client.api.TypedMessageBuilder<V> newMessage(org.apache.pulsar.client.api.Schema<V> schema)
      Specified by:
      newMessage in interface org.apache.pulsar.client.api.Producer<T>
    • newMessage

      public org.apache.pulsar.client.api.TypedMessageBuilder<T> newMessage(org.apache.pulsar.client.api.transaction.Transaction txn)
      Specified by:
      newMessage in interface org.apache.pulsar.client.api.Producer<T>
    • send

      public org.apache.pulsar.client.api.MessageId send(org.apache.pulsar.client.api.Message<?> message) throws org.apache.pulsar.client.api.PulsarClientException
      Throws:
      org.apache.pulsar.client.api.PulsarClientException
    • flush

      public void flush() throws org.apache.pulsar.client.api.PulsarClientException
      Specified by:
      flush in interface org.apache.pulsar.client.api.Producer<T>
      Throws:
      org.apache.pulsar.client.api.PulsarClientException
    • close

      public void close() throws org.apache.pulsar.client.api.PulsarClientException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
      Specified by:
      close in interface org.apache.pulsar.client.api.Producer<T>
      Throws:
      org.apache.pulsar.client.api.PulsarClientException
    • closeAsync

      public abstract CompletableFuture<Void> closeAsync()
      Specified by:
      closeAsync in interface org.apache.pulsar.client.api.Producer<T>
    • getTopic

      public String getTopic()
      Specified by:
      getTopic in interface org.apache.pulsar.client.api.Producer<T>
    • getConfiguration

      public ProducerConfigurationData getConfiguration()
    • producerCreatedFuture

      public CompletableFuture<org.apache.pulsar.client.api.Producer<T>> producerCreatedFuture()
    • beforeSend

      protected org.apache.pulsar.client.api.Message<?> beforeSend(org.apache.pulsar.client.api.Message<?> message)
    • onSendAcknowledgement

      protected void onSendAcknowledgement(org.apache.pulsar.client.api.Message<?> message, org.apache.pulsar.client.api.MessageId msgId, Throwable exception)
    • onPartitionsChange

      protected void onPartitionsChange(String topicName, int partitions)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • changeToReadyState

      protected boolean changeToReadyState()
    • changeToRegisteringSchemaState

      protected boolean changeToRegisteringSchemaState()
    • getState

      protected org.apache.pulsar.client.impl.HandlerState.State getState()
    • changeToConnecting

      protected boolean changeToConnecting()
    • setState

      protected void setState(org.apache.pulsar.client.impl.HandlerState.State s)
    • getAndUpdateState

      protected org.apache.pulsar.client.impl.HandlerState.State getAndUpdateState(UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater)
    • getClient

      public PulsarClientImpl getClient()