Package org.apache.pulsar.client.impl
Class ProducerBuilderImpl<T>
java.lang.Object
org.apache.pulsar.client.impl.ProducerBuilderImpl<T>
- All Implemented Interfaces:
Cloneable
,ProducerBuilder<T>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionaccessMode
(ProducerAccessMode accessMode) addEncryptionKey
(String key) autoUpdatePartitions
(boolean autoUpdate) autoUpdatePartitionsInterval
(int interval, TimeUnit unit) batcherBuilder
(BatcherBuilder batcherBuilder) batchingMaxBytes
(int batchingMaxBytes) batchingMaxMessages
(int batchMessagesMaxMessagesPerBatch) batchingMaxPublishDelay
(long batchDelay, @NonNull TimeUnit timeUnit) blockIfQueueFull
(boolean blockIfQueueFull) chunkMaxMessageSize
(int chunkMaxMessageSize) clone()
compressionType
(@NonNull CompressionType compressionType) create()
cryptoFailureAction
(@NonNull ProducerCryptoFailureAction action) cryptoKeyReader
(@NonNull CryptoKeyReader cryptoKeyReader) defaultCryptoKeyReader
(@NonNull Map<String, String> publicKeys) defaultCryptoKeyReader
(String publicKey) enableBatching
(boolean batchMessagesEnabled) enableChunking
(boolean chunkingEnabled) enableLazyStartPartitionedProducers
(boolean lazyStartPartitionedProducers) enableMultiSchema
(boolean multiSchema) hashingScheme
(@NonNull HashingScheme hashingScheme) initialSequenceId
(long initialSequenceId) initialSubscriptionName
(String initialSubscriptionName) Use this config to automatically create an initial subscription when creating the topic.intercept
(ProducerInterceptor... interceptors) intercept
(ProducerInterceptor<T>... interceptors) Deprecated.maxPendingMessages
(int maxPendingMessages) maxPendingMessagesAcrossPartitions
(int maxPendingMessagesAcrossPartitions) Deprecated.messageCrypto
(MessageCrypto messageCrypto) messageRouter
(@NonNull MessageRouter messageRouter) messageRoutingMode
(@NonNull MessageRoutingMode messageRouteMode) producerName
(String producerName) properties
(@NonNull Map<String, String> properties) roundRobinRouterBatchingPartitionSwitchFrequency
(int frequency) Allow to override schema in builder implementation.sendTimeout
(int sendTimeout, @NonNull TimeUnit unit) toString()
-
Constructor Details
-
ProducerBuilderImpl
-
-
Method Details
-
schema
Allow to override schema in builder implementation.- Returns:
-
clone
- Specified by:
clone
in interfaceProducerBuilder<T>
- Overrides:
clone
in classObject
-
create
- Specified by:
create
in interfaceProducerBuilder<T>
- Throws:
PulsarClientException
-
createAsync
- Specified by:
createAsync
in interfaceProducerBuilder<T>
-
loadConf
- Specified by:
loadConf
in interfaceProducerBuilder<T>
-
topic
- Specified by:
topic
in interfaceProducerBuilder<T>
-
producerName
- Specified by:
producerName
in interfaceProducerBuilder<T>
-
sendTimeout
- Specified by:
sendTimeout
in interfaceProducerBuilder<T>
-
maxPendingMessages
- Specified by:
maxPendingMessages
in interfaceProducerBuilder<T>
-
maxPendingMessagesAcrossPartitions
@Deprecated public ProducerBuilder<T> maxPendingMessagesAcrossPartitions(int maxPendingMessagesAcrossPartitions) Deprecated.- Specified by:
maxPendingMessagesAcrossPartitions
in interfaceProducerBuilder<T>
-
accessMode
- Specified by:
accessMode
in interfaceProducerBuilder<T>
-
blockIfQueueFull
- Specified by:
blockIfQueueFull
in interfaceProducerBuilder<T>
-
messageRoutingMode
- Specified by:
messageRoutingMode
in interfaceProducerBuilder<T>
-
compressionType
- Specified by:
compressionType
in interfaceProducerBuilder<T>
-
hashingScheme
- Specified by:
hashingScheme
in interfaceProducerBuilder<T>
-
messageRouter
- Specified by:
messageRouter
in interfaceProducerBuilder<T>
-
enableBatching
- Specified by:
enableBatching
in interfaceProducerBuilder<T>
-
enableChunking
- Specified by:
enableChunking
in interfaceProducerBuilder<T>
-
chunkMaxMessageSize
- Specified by:
chunkMaxMessageSize
in interfaceProducerBuilder<T>
-
cryptoKeyReader
- Specified by:
cryptoKeyReader
in interfaceProducerBuilder<T>
-
defaultCryptoKeyReader
- Specified by:
defaultCryptoKeyReader
in interfaceProducerBuilder<T>
-
defaultCryptoKeyReader
- Specified by:
defaultCryptoKeyReader
in interfaceProducerBuilder<T>
-
messageCrypto
- Specified by:
messageCrypto
in interfaceProducerBuilder<T>
-
addEncryptionKey
- Specified by:
addEncryptionKey
in interfaceProducerBuilder<T>
-
cryptoFailureAction
- Specified by:
cryptoFailureAction
in interfaceProducerBuilder<T>
-
batchingMaxPublishDelay
public ProducerBuilder<T> batchingMaxPublishDelay(long batchDelay, @NonNull @NonNull TimeUnit timeUnit) - Specified by:
batchingMaxPublishDelay
in interfaceProducerBuilder<T>
-
roundRobinRouterBatchingPartitionSwitchFrequency
- Specified by:
roundRobinRouterBatchingPartitionSwitchFrequency
in interfaceProducerBuilder<T>
-
batchingMaxMessages
- Specified by:
batchingMaxMessages
in interfaceProducerBuilder<T>
-
batchingMaxBytes
- Specified by:
batchingMaxBytes
in interfaceProducerBuilder<T>
-
batcherBuilder
- Specified by:
batcherBuilder
in interfaceProducerBuilder<T>
-
initialSequenceId
- Specified by:
initialSequenceId
in interfaceProducerBuilder<T>
-
property
- Specified by:
property
in interfaceProducerBuilder<T>
-
properties
- Specified by:
properties
in interfaceProducerBuilder<T>
-
intercept
- Specified by:
intercept
in interfaceProducerBuilder<T>
-
intercept
Deprecated.- Specified by:
intercept
in interfaceProducerBuilder<T>
-
autoUpdatePartitions
- Specified by:
autoUpdatePartitions
in interfaceProducerBuilder<T>
-
autoUpdatePartitionsInterval
- Specified by:
autoUpdatePartitionsInterval
in interfaceProducerBuilder<T>
-
enableMultiSchema
- Specified by:
enableMultiSchema
in interfaceProducerBuilder<T>
-
enableLazyStartPartitionedProducers
public ProducerBuilder<T> enableLazyStartPartitionedProducers(boolean lazyStartPartitionedProducers) - Specified by:
enableLazyStartPartitionedProducers
in interfaceProducerBuilder<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
-