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
Constructors -
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:
clonein interfaceProducerBuilder<T>- Overrides:
clonein classObject
-
create
- Specified by:
createin interfaceProducerBuilder<T>- Throws:
PulsarClientException
-
createAsync
- Specified by:
createAsyncin interfaceProducerBuilder<T>
-
loadConf
- Specified by:
loadConfin interfaceProducerBuilder<T>
-
topic
- Specified by:
topicin interfaceProducerBuilder<T>
-
producerName
- Specified by:
producerNamein interfaceProducerBuilder<T>
-
sendTimeout
- Specified by:
sendTimeoutin interfaceProducerBuilder<T>
-
maxPendingMessages
- Specified by:
maxPendingMessagesin interfaceProducerBuilder<T>
-
maxPendingMessagesAcrossPartitions
@Deprecated public ProducerBuilder<T> maxPendingMessagesAcrossPartitions(int maxPendingMessagesAcrossPartitions) Deprecated.- Specified by:
maxPendingMessagesAcrossPartitionsin interfaceProducerBuilder<T>
-
accessMode
- Specified by:
accessModein interfaceProducerBuilder<T>
-
blockIfQueueFull
- Specified by:
blockIfQueueFullin interfaceProducerBuilder<T>
-
messageRoutingMode
- Specified by:
messageRoutingModein interfaceProducerBuilder<T>
-
compressionType
- Specified by:
compressionTypein interfaceProducerBuilder<T>
-
hashingScheme
- Specified by:
hashingSchemein interfaceProducerBuilder<T>
-
messageRouter
- Specified by:
messageRouterin interfaceProducerBuilder<T>
-
enableBatching
- Specified by:
enableBatchingin interfaceProducerBuilder<T>
-
enableChunking
- Specified by:
enableChunkingin interfaceProducerBuilder<T>
-
chunkMaxMessageSize
- Specified by:
chunkMaxMessageSizein interfaceProducerBuilder<T>
-
cryptoKeyReader
- Specified by:
cryptoKeyReaderin interfaceProducerBuilder<T>
-
defaultCryptoKeyReader
- Specified by:
defaultCryptoKeyReaderin interfaceProducerBuilder<T>
-
defaultCryptoKeyReader
- Specified by:
defaultCryptoKeyReaderin interfaceProducerBuilder<T>
-
messageCrypto
- Specified by:
messageCryptoin interfaceProducerBuilder<T>
-
addEncryptionKey
- Specified by:
addEncryptionKeyin interfaceProducerBuilder<T>
-
cryptoFailureAction
- Specified by:
cryptoFailureActionin interfaceProducerBuilder<T>
-
batchingMaxPublishDelay
public ProducerBuilder<T> batchingMaxPublishDelay(long batchDelay, @NonNull @NonNull TimeUnit timeUnit) - Specified by:
batchingMaxPublishDelayin interfaceProducerBuilder<T>
-
roundRobinRouterBatchingPartitionSwitchFrequency
- Specified by:
roundRobinRouterBatchingPartitionSwitchFrequencyin interfaceProducerBuilder<T>
-
batchingMaxMessages
- Specified by:
batchingMaxMessagesin interfaceProducerBuilder<T>
-
batchingMaxBytes
- Specified by:
batchingMaxBytesin interfaceProducerBuilder<T>
-
batcherBuilder
- Specified by:
batcherBuilderin interfaceProducerBuilder<T>
-
initialSequenceId
- Specified by:
initialSequenceIdin interfaceProducerBuilder<T>
-
property
- Specified by:
propertyin interfaceProducerBuilder<T>
-
properties
- Specified by:
propertiesin interfaceProducerBuilder<T>
-
intercept
- Specified by:
interceptin interfaceProducerBuilder<T>
-
intercept
Deprecated.- Specified by:
interceptin interfaceProducerBuilder<T>
-
autoUpdatePartitions
- Specified by:
autoUpdatePartitionsin interfaceProducerBuilder<T>
-
autoUpdatePartitionsInterval
- Specified by:
autoUpdatePartitionsIntervalin interfaceProducerBuilder<T>
-
enableMultiSchema
- Specified by:
enableMultiSchemain interfaceProducerBuilder<T>
-
enableLazyStartPartitionedProducers
public ProducerBuilder<T> enableLazyStartPartitionedProducers(boolean lazyStartPartitionedProducers) - Specified by:
enableLazyStartPartitionedProducersin 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
-