Package org.apache.pulsar.client.impl
Class ProducerBuilderImpl<T>
- java.lang.Object
-
- org.apache.pulsar.client.impl.ProducerBuilderImpl<T>
-
- All Implemented Interfaces:
java.lang.Cloneable,org.apache.pulsar.client.api.ProducerBuilder<T>
public class ProducerBuilderImpl<T> extends java.lang.Object implements org.apache.pulsar.client.api.ProducerBuilder<T>
-
-
Constructor Summary
Constructors Constructor Description ProducerBuilderImpl(PulsarClientImpl client, org.apache.pulsar.client.api.Schema<T> schema)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description org.apache.pulsar.client.api.ProducerBuilder<T>accessMode(org.apache.pulsar.client.api.ProducerAccessMode accessMode)org.apache.pulsar.client.api.ProducerBuilder<T>addEncryptionKey(java.lang.String key)org.apache.pulsar.client.api.ProducerBuilder<T>autoUpdatePartitions(boolean autoUpdate)org.apache.pulsar.client.api.ProducerBuilder<T>autoUpdatePartitionsInterval(int interval, java.util.concurrent.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 java.util.concurrent.TimeUnit timeUnit)org.apache.pulsar.client.api.ProducerBuilder<T>blockIfQueueFull(boolean blockIfQueueFull)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()java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.Producer<T>>createAsync()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 java.util.Map<java.lang.String,java.lang.String> publicKeys)org.apache.pulsar.client.api.ProducerBuilder<T>defaultCryptoKeyReader(java.lang.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)ProducerBuilderImpl<T>initialSubscriptionName(java.lang.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>intercept(org.apache.pulsar.client.api.ProducerInterceptor<T>... interceptors)Deprecated.org.apache.pulsar.client.api.ProducerBuilder<T>loadConf(java.util.Map<java.lang.String,java.lang.Object> config)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(java.lang.String producerName)org.apache.pulsar.client.api.ProducerBuilder<T>properties(@NonNull java.util.Map<java.lang.String,java.lang.String> properties)org.apache.pulsar.client.api.ProducerBuilder<T>property(java.lang.String key, java.lang.String value)org.apache.pulsar.client.api.ProducerBuilder<T>roundRobinRouterBatchingPartitionSwitchFrequency(int frequency)org.apache.pulsar.client.api.ProducerBuilder<T>schema(org.apache.pulsar.client.api.Schema<T> schema)Allow to override schema in builder implementation.org.apache.pulsar.client.api.ProducerBuilder<T>sendTimeout(int sendTimeout, @NonNull java.util.concurrent.TimeUnit unit)org.apache.pulsar.client.api.ProducerBuilder<T>topic(java.lang.String topicName)java.lang.StringtoString()
-
-
-
Constructor Detail
-
ProducerBuilderImpl
public ProducerBuilderImpl(PulsarClientImpl client, org.apache.pulsar.client.api.Schema<T> schema)
-
-
Method Detail
-
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
public org.apache.pulsar.client.api.ProducerBuilder<T> clone()
- Specified by:
clonein interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>- Overrides:
clonein classjava.lang.Object
-
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
public java.util.concurrent.CompletableFuture<org.apache.pulsar.client.api.Producer<T>> createAsync()
- Specified by:
createAsyncin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
loadConf
public org.apache.pulsar.client.api.ProducerBuilder<T> loadConf(java.util.Map<java.lang.String,java.lang.Object> config)
- Specified by:
loadConfin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
topic
public org.apache.pulsar.client.api.ProducerBuilder<T> topic(java.lang.String topicName)
- Specified by:
topicin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
producerName
public org.apache.pulsar.client.api.ProducerBuilder<T> producerName(java.lang.String 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 java.util.concurrent.TimeUnit unit)
- Specified by:
sendTimeoutin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
maxPendingMessages
public org.apache.pulsar.client.api.ProducerBuilder<T> maxPendingMessages(int 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
public org.apache.pulsar.client.api.ProducerBuilder<T> blockIfQueueFull(boolean 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
public org.apache.pulsar.client.api.ProducerBuilder<T> enableBatching(boolean batchMessagesEnabled)
- Specified by:
enableBatchingin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
enableChunking
public org.apache.pulsar.client.api.ProducerBuilder<T> enableChunking(boolean chunkingEnabled)
- Specified by:
enableChunkingin 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
public org.apache.pulsar.client.api.ProducerBuilder<T> defaultCryptoKeyReader(java.lang.String publicKey)
- Specified by:
defaultCryptoKeyReaderin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
defaultCryptoKeyReader
public org.apache.pulsar.client.api.ProducerBuilder<T> defaultCryptoKeyReader(@NonNull @NonNull java.util.Map<java.lang.String,java.lang.String> publicKeys)
- Specified by:
defaultCryptoKeyReaderin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
addEncryptionKey
public org.apache.pulsar.client.api.ProducerBuilder<T> addEncryptionKey(java.lang.String key)
- 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 java.util.concurrent.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
public org.apache.pulsar.client.api.ProducerBuilder<T> batchingMaxBytes(int 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
public org.apache.pulsar.client.api.ProducerBuilder<T> initialSequenceId(long initialSequenceId)
- Specified by:
initialSequenceIdin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
property
public org.apache.pulsar.client.api.ProducerBuilder<T> property(java.lang.String key, java.lang.String value)
- Specified by:
propertyin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
properties
public org.apache.pulsar.client.api.ProducerBuilder<T> properties(@NonNull @NonNull java.util.Map<java.lang.String,java.lang.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
public org.apache.pulsar.client.api.ProducerBuilder<T> autoUpdatePartitions(boolean autoUpdate)
- Specified by:
autoUpdatePartitionsin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
autoUpdatePartitionsInterval
public org.apache.pulsar.client.api.ProducerBuilder<T> autoUpdatePartitionsInterval(int interval, java.util.concurrent.TimeUnit unit)
- Specified by:
autoUpdatePartitionsIntervalin interfaceorg.apache.pulsar.client.api.ProducerBuilder<T>
-
enableMultiSchema
public org.apache.pulsar.client.api.ProducerBuilder<T> enableMultiSchema(boolean multiSchema)
- 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
public ProducerBuilderImpl<T> initialSubscriptionName(java.lang.String 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
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-