Package org.apache.pulsar.client.impl
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>
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final PulsarClientImplprotected final ProducerConfigurationDataprotected final ProducerInterceptorsprotected ProducerBase.MultiSchemaModeprotected final CompletableFuture<org.apache.pulsar.client.api.Producer<T>>protected final org.apache.pulsar.client.api.Schema<T>protected final org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<org.apache.pulsar.common.protocol.schema.SchemaHash,byte[]> protected final String -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedProducerBase(PulsarClientImpl client, String topic, ProducerConfigurationData conf, CompletableFuture<org.apache.pulsar.client.api.Producer<T>> producerCreatedFuture, org.apache.pulsar.client.api.Schema<T> schema, ProducerInterceptors interceptors) -
Method Summary
Modifier and TypeMethodDescriptionprotected org.apache.pulsar.client.api.Message<?>beforeSend(org.apache.pulsar.client.api.Message<?> message) protected booleanprotected booleanprotected booleanvoidclose()abstract CompletableFuture<Void>voidflush()protected org.apache.pulsar.client.impl.HandlerState.StategetAndUpdateState(UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater) protected org.apache.pulsar.client.impl.HandlerState.StategetState()getTopic()org.apache.pulsar.client.api.TypedMessageBuilder<T><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(String topicName, int partitions) protected voidonSendAcknowledgement(org.apache.pulsar.client.api.Message<?> message, org.apache.pulsar.client.api.MessageId msgId, Throwable exception) CompletableFuture<org.apache.pulsar.client.api.Producer<T>>org.apache.pulsar.client.api.MessageIdsend(org.apache.pulsar.client.api.Message<?> message) org.apache.pulsar.client.api.MessageIdCompletableFuture<org.apache.pulsar.client.api.MessageId>sendAsync(org.apache.pulsar.client.api.Message<?> message) CompletableFuture<org.apache.pulsar.client.api.MessageId>protected voidsetState(org.apache.pulsar.client.impl.HandlerState.State s) toString()Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.pulsar.client.api.Producer
flushAsync, getLastDisconnectedTimestamp, getLastSequenceId, getNumOfPartitions, getProducerName, getStats, isConnected
-
Field Details
-
producerCreatedFuture
-
conf
-
schema
-
interceptors
-
schemaCache
protected final org.apache.pulsar.common.util.collections.ConcurrentOpenHashMap<org.apache.pulsar.common.protocol.schema.SchemaHash,byte[]> schemaCache -
multiSchemaMode
-
client
-
topic
-
-
Constructor Details
-
ProducerBase
protected ProducerBase(PulsarClientImpl client, String topic, ProducerConfigurationData conf, CompletableFuture<org.apache.pulsar.client.api.Producer<T>> producerCreatedFuture, org.apache.pulsar.client.api.Schema<T> schema, ProducerInterceptors interceptors)
-
-
Method Details
-
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
- Specified by:
sendAsyncin interfaceorg.apache.pulsar.client.api.Producer<T>
-
sendAsync
public CompletableFuture<org.apache.pulsar.client.api.MessageId> sendAsync(org.apache.pulsar.client.api.Message<?> message) -
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 interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceorg.apache.pulsar.client.api.Producer<T>- Throws:
org.apache.pulsar.client.api.PulsarClientException
-
closeAsync
- Specified by:
closeAsyncin interfaceorg.apache.pulsar.client.api.Producer<T>
-
getTopic
- Specified by:
getTopicin interfaceorg.apache.pulsar.client.api.Producer<T>
-
getConfiguration
-
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
-
toString
-
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
-