Package org.apache.pulsar.client.impl
Class ProducerBase<T>
- java.lang.Object
-
- org.apache.pulsar.client.impl.ProducerBase<T>
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,org.apache.pulsar.client.api.Producer<T>
- Direct Known Subclasses:
PartitionedProducerImpl,ProducerImpl
public abstract class ProducerBase<T> extends java.lang.Object implements org.apache.pulsar.client.api.Producer<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classProducerBase.MultiSchemaMode
-
Field Summary
Fields Modifier and Type Field Description protected PulsarClientImplclientprotected ProducerConfigurationDataconfprotected ProducerInterceptorsinterceptorsprotected ProducerBase.MultiSchemaModemultiSchemaModeprotected java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.Producer<T>>producerCreatedFutureprotected org.apache.pulsar.client.api.Schema<T>schemaprotected org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<org.apache.pulsar.common.protocol.schema.SchemaHash,byte[]>schemaCacheprotected java.lang.Stringtopic
-
Constructor Summary
Constructors Modifier Constructor Description protectedProducerBase(PulsarClientImpl client, java.lang.String topic, ProducerConfigurationData conf, java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.Producer<T>> producerCreatedFuture, org.apache.pulsar.client.api.Schema<T> schema, ProducerInterceptors interceptors)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected org.apache.pulsar.client.api.Message<?>beforeSend(org.apache.pulsar.client.api.Message<?> message)protected booleanchangeToConnecting()protected booleanchangeToReadyState()protected booleanchangeToRegisteringSchemaState()voidclose()abstract java.util.concurrent.CompletableFuture<java.lang.Void>closeAsync()voidflush()protected org.apache.pulsar.client.impl.HandlerState.StategetAndUpdateState(java.util.function.UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater)PulsarClientImplgetClient()ProducerConfigurationDatagetConfiguration()protected org.apache.pulsar.client.impl.HandlerState.StategetState()java.lang.StringgetTopic()org.apache.pulsar.client.api.TypedMessageBuilder<T>newMessage()<V> org.apache.pulsar.client.api.TypedMessageBuilder<V>newMessage(org.apache.pulsar.client.api.Schema<V> schema)org.apache.pulsar.client.api.TypedMessageBuilder<T>newMessage(org.apache.pulsar.client.api.transaction.Transaction txn)protected voidonPartitionsChange(java.lang.String topicName, int partitions)protected voidonSendAcknowledgement(org.apache.pulsar.client.api.Message<?> message, org.apache.pulsar.client.api.MessageId msgId, java.lang.Throwable exception)java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.Producer<T>>producerCreatedFuture()org.apache.pulsar.client.api.MessageIdsend(org.apache.pulsar.client.api.Message<?> message)org.apache.pulsar.client.api.MessageIdsend(T message)java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.MessageId>sendAsync(org.apache.pulsar.client.api.Message<?> message)java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.MessageId>sendAsync(T message)protected voidsetState(org.apache.pulsar.client.impl.HandlerState.State s)java.lang.StringtoString()
-
-
-
Field Detail
-
producerCreatedFuture
protected final java.util.concurrent.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 java.lang.String topic
-
-
Constructor Detail
-
ProducerBase
protected ProducerBase(PulsarClientImpl client, java.lang.String topic, ProducerConfigurationData conf, java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.Producer<T>> producerCreatedFuture, org.apache.pulsar.client.api.Schema<T> schema, ProducerInterceptors interceptors)
-
-
Method Detail
-
send
public org.apache.pulsar.client.api.MessageId send(T message) throws org.apache.pulsar.client.api.PulsarClientException
- Specified by:
sendin interfaceorg.apache.pulsar.client.api.Producer<T>- Throws:
org.apache.pulsar.client.api.PulsarClientException
-
sendAsync
public java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.MessageId> sendAsync(T message)
- Specified by:
sendAsyncin interfaceorg.apache.pulsar.client.api.Producer<T>
-
sendAsync
public java.util.concurrent.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:
newMessagein interfaceorg.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:
newMessagein interfaceorg.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:
newMessagein interfaceorg.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:
flushin interfaceorg.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:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable- Specified by:
closein interfaceorg.apache.pulsar.client.api.Producer<T>- Throws:
org.apache.pulsar.client.api.PulsarClientException
-
closeAsync
public abstract java.util.concurrent.CompletableFuture<java.lang.Void> closeAsync()
- Specified by:
closeAsyncin interfaceorg.apache.pulsar.client.api.Producer<T>
-
getTopic
public java.lang.String getTopic()
- Specified by:
getTopicin interfaceorg.apache.pulsar.client.api.Producer<T>
-
getConfiguration
public ProducerConfigurationData getConfiguration()
-
producerCreatedFuture
public java.util.concurrent.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, java.lang.Throwable exception)
-
onPartitionsChange
protected void onPartitionsChange(java.lang.String topicName, int partitions)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.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(java.util.function.UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater)
-
getClient
public PulsarClientImpl getClient()
-
-