Package org.apache.pulsar.client.impl
Class ProducerBuilderImpl<T>
java.lang.Object
org.apache.pulsar.client.impl.ProducerBuilderImpl<T>
- All Implemented Interfaces:
Cloneable,org.apache.pulsar.client.api.ProducerBuilder<T>
public class ProducerBuilderImpl<T>
extends Object
implements org.apache.pulsar.client.api.ProducerBuilder<T>
-
Constructor Summary
ConstructorsConstructorDescriptionProducerBuilderImpl(PulsarClientImpl client, org.apache.pulsar.client.api.Schema<T> schema) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.pulsar.client.api.ProducerBuilder<T>accessMode(org.apache.pulsar.client.api.ProducerAccessMode accessMode) org.apache.pulsar.client.api.ProducerBuilder<T>addEncryptionKey(String key) org.apache.pulsar.client.api.ProducerBuilder<T>autoUpdatePartitions(boolean autoUpdate) org.apache.pulsar.client.api.ProducerBuilder<T>autoUpdatePartitionsInterval(int interval, TimeUnit unit) org.apache.pulsar.client.api.ProducerBuilder<T>batcherBuilder(org.apache.pulsar.client.api.BatcherBuilder batcherBuilder) org.apache.pulsar.client.api.ProducerBuilder<T>batchingMaxBytes(int batchingMaxBytes) org.apache.pulsar.client.api.ProducerBuilder<T>batchingMaxMessages(int batchMessagesMaxMessagesPerBatch) org.apache.pulsar.client.api.ProducerBuilder<T>batchingMaxPublishDelay(long batchDelay, @NonNull TimeUnit timeUnit) org.apache.pulsar.client.api.ProducerBuilder<T>blockIfQueueFull(boolean blockIfQueueFull) org.apache.pulsar.client.api.ProducerBuilder<T>chunkMaxMessageSize(int chunkMaxMessageSize) org.apache.pulsar.client.api.ProducerBuilder<T>clone()org.apache.pulsar.client.api.ProducerBuilder<T>compressionType(@NonNull org.apache.pulsar.client.api.CompressionType compressionType) org.apache.pulsar.client.api.Producer<T>create()CompletableFuture<org.apache.pulsar.client.api.Producer<T>>org.apache.pulsar.client.api.ProducerBuilder<T>cryptoFailureAction(@NonNull org.apache.pulsar.client.api.ProducerCryptoFailureAction action) org.apache.pulsar.client.api.ProducerBuilder<T>cryptoKeyReader(@NonNull org.apache.pulsar.client.api.CryptoKeyReader cryptoKeyReader) org.apache.pulsar.client.api.ProducerBuilder<T>defaultCryptoKeyReader(@NonNull Map<String, String> publicKeys) org.apache.pulsar.client.api.ProducerBuilder<T>defaultCryptoKeyReader(String publicKey) org.apache.pulsar.client.api.ProducerBuilder<T>enableBatching(boolean batchMessagesEnabled) org.apache.pulsar.client.api.ProducerBuilder<T>enableChunking(boolean chunkingEnabled) org.apache.pulsar.client.api.ProducerBuilder<T>enableLazyStartPartitionedProducers(boolean lazyStartPartitionedProducers) org.apache.pulsar.client.api.ProducerBuilder<T>enableMultiSchema(boolean multiSchema) org.apache.pulsar.client.api.ProducerBuilder<T>hashingScheme(@NonNull org.apache.pulsar.client.api.HashingScheme hashingScheme) org.apache.pulsar.client.api.ProducerBuilder<T>initialSequenceId(long initialSequenceId) initialSubscriptionName(String initialSubscriptionName) Use this config to automatically create an initial subscription when creating the topic.org.apache.pulsar.client.api.ProducerBuilder<T>intercept(org.apache.pulsar.client.api.interceptor.ProducerInterceptor... interceptors) org.apache.pulsar.client.api.ProducerBuilder<T>Deprecated.org.apache.pulsar.client.api.ProducerBuilder<T>org.apache.pulsar.client.api.ProducerBuilder<T>maxPendingMessages(int maxPendingMessages) org.apache.pulsar.client.api.ProducerBuilder<T>maxPendingMessagesAcrossPartitions(int maxPendingMessagesAcrossPartitions) Deprecated.org.apache.pulsar.client.api.ProducerBuilder<T>messageRouter(@NonNull org.apache.pulsar.client.api.MessageRouter messageRouter) org.apache.pulsar.client.api.ProducerBuilder<T>messageRoutingMode(@NonNull org.apache.pulsar.client.api.MessageRoutingMode messageRouteMode) org.apache.pulsar.client.api.ProducerBuilder<T>producerName(String producerName) org.apache.pulsar.client.api.ProducerBuilder<T>properties(@NonNull Map<String, String> properties) org.apache.pulsar.client.api.ProducerBuilder<T>org.apache.pulsar.client.api.ProducerBuilder<T>roundRobinRouterBatchingPartitionSwitchFrequency(int frequency) org.apache.pulsar.client.api.ProducerBuilder<T>Allow to override schema in builder implementation.org.apache.pulsar.client.api.ProducerBuilder<T>sendTimeout(int sendTimeout, @NonNull TimeUnit unit) org.apache.pulsar.client.api.ProducerBuilder<T>toString()
-
Constructor Details
-
ProducerBuilderImpl
-
-
Method Details
-
schema
public org.apache.pulsar.client.api.ProducerBuilder<T> schema(org.apache.pulsar.client.api.Schema<T> schema) Allow to override schema in builder implementation.- Returns:
-
clone
-
create
public org.apache.pulsar.client.api.Producer<T> create() throws org.apache.pulsar.client.api.PulsarClientException- Specified by:
createin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>- Throws:
org.apache.pulsar.client.api.PulsarClientException
-
createAsync
- Specified by:
createAsyncin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
loadConf
- Specified by:
loadConfin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
topic
- Specified by:
topicin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
producerName
- Specified by:
producerNamein interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
sendTimeout
public org.apache.pulsar.client.api.ProducerBuilder<T> sendTimeout(int sendTimeout, @NonNull @NonNull TimeUnit unit) - Specified by:
sendTimeoutin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
maxPendingMessages
- Specified by:
maxPendingMessagesin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
maxPendingMessagesAcrossPartitions
@Deprecated public org.apache.pulsar.client.api.ProducerBuilder<T> maxPendingMessagesAcrossPartitions(int maxPendingMessagesAcrossPartitions) Deprecated.- Specified by:
maxPendingMessagesAcrossPartitionsin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
accessMode
public org.apache.pulsar.client.api.ProducerBuilder<T> accessMode(org.apache.pulsar.client.api.ProducerAccessMode accessMode) - Specified by:
accessModein interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
blockIfQueueFull
- Specified by:
blockIfQueueFullin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
messageRoutingMode
public org.apache.pulsar.client.api.ProducerBuilder<T> messageRoutingMode(@NonNull @NonNull org.apache.pulsar.client.api.MessageRoutingMode messageRouteMode) - Specified by:
messageRoutingModein interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
compressionType
public org.apache.pulsar.client.api.ProducerBuilder<T> compressionType(@NonNull @NonNull org.apache.pulsar.client.api.CompressionType compressionType) - Specified by:
compressionTypein interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
hashingScheme
public org.apache.pulsar.client.api.ProducerBuilder<T> hashingScheme(@NonNull @NonNull org.apache.pulsar.client.api.HashingScheme hashingScheme) - Specified by:
hashingSchemein interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
messageRouter
public org.apache.pulsar.client.api.ProducerBuilder<T> messageRouter(@NonNull @NonNull org.apache.pulsar.client.api.MessageRouter messageRouter) - Specified by:
messageRouterin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
enableBatching
- Specified by:
enableBatchingin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
enableChunking
- Specified by:
enableChunkingin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
chunkMaxMessageSize
- Specified by:
chunkMaxMessageSizein interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
cryptoKeyReader
public org.apache.pulsar.client.api.ProducerBuilder<T> cryptoKeyReader(@NonNull @NonNull org.apache.pulsar.client.api.CryptoKeyReader cryptoKeyReader) - Specified by:
cryptoKeyReaderin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
defaultCryptoKeyReader
- Specified by:
defaultCryptoKeyReaderin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
defaultCryptoKeyReader
public org.apache.pulsar.client.api.ProducerBuilder<T> defaultCryptoKeyReader(@NonNull @NonNull Map<String, String> publicKeys) - Specified by:
defaultCryptoKeyReaderin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
addEncryptionKey
- Specified by:
addEncryptionKeyin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
cryptoFailureAction
public org.apache.pulsar.client.api.ProducerBuilder<T> cryptoFailureAction(@NonNull @NonNull org.apache.pulsar.client.api.ProducerCryptoFailureAction action) - Specified by:
cryptoFailureActionin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
batchingMaxPublishDelay
public org.apache.pulsar.client.api.ProducerBuilder<T> batchingMaxPublishDelay(long batchDelay, @NonNull @NonNull TimeUnit timeUnit) - Specified by:
batchingMaxPublishDelayin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
roundRobinRouterBatchingPartitionSwitchFrequency
public org.apache.pulsar.client.api.ProducerBuilder<T> roundRobinRouterBatchingPartitionSwitchFrequency(int frequency) - Specified by:
roundRobinRouterBatchingPartitionSwitchFrequencyin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
batchingMaxMessages
public org.apache.pulsar.client.api.ProducerBuilder<T> batchingMaxMessages(int batchMessagesMaxMessagesPerBatch) - Specified by:
batchingMaxMessagesin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
batchingMaxBytes
- Specified by:
batchingMaxBytesin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
batcherBuilder
public org.apache.pulsar.client.api.ProducerBuilder<T> batcherBuilder(org.apache.pulsar.client.api.BatcherBuilder batcherBuilder) - Specified by:
batcherBuilderin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
initialSequenceId
- Specified by:
initialSequenceIdin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
property
- Specified by:
propertyin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
properties
public org.apache.pulsar.client.api.ProducerBuilder<T> properties(@NonNull @NonNull Map<String, String> properties) - Specified by:
propertiesin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
intercept
public org.apache.pulsar.client.api.ProducerBuilder<T> intercept(org.apache.pulsar.client.api.interceptor.ProducerInterceptor... interceptors) - Specified by:
interceptin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
intercept
@Deprecated public org.apache.pulsar.client.api.ProducerBuilder<T> intercept(org.apache.pulsar.client.api.ProducerInterceptor<T>... interceptors) Deprecated.- Specified by:
interceptin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
autoUpdatePartitions
- Specified by:
autoUpdatePartitionsin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
autoUpdatePartitionsInterval
public org.apache.pulsar.client.api.ProducerBuilder<T> autoUpdatePartitionsInterval(int interval, TimeUnit unit) - Specified by:
autoUpdatePartitionsIntervalin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
enableMultiSchema
- Specified by:
enableMultiSchemain interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
enableLazyStartPartitionedProducers
public org.apache.pulsar.client.api.ProducerBuilder<T> enableLazyStartPartitionedProducers(boolean lazyStartPartitionedProducers) - Specified by:
enableLazyStartPartitionedProducersin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
initialSubscriptionName
Use this config to automatically create an initial subscription when creating the topic. If this field is not set, the initial subscription will not be created. If this field is set but the broker's `allowAutoSubscriptionCreation` is disabled, the producer will fail to be created. This method is limited to internal use. This method will only be used when the consumer creates the dlq producer.- Parameters:
initialSubscriptionName- Name of the initial subscription of the topic.- Returns:
- the producer builder implementation instance
-
toString
-