Class 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>
    • 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)  
      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)  
      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.String toString()  
      • Methods inherited from class java.lang.Object

        equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • 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:
        clone in interface org.apache.pulsar.client.api.ProducerBuilder<T>
        Overrides:
        clone in class java.lang.Object
      • create

        public org.apache.pulsar.client.api.Producer<T> create()
                                                        throws org.apache.pulsar.client.api.PulsarClientException
        Specified by:
        create in interface org.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:
        createAsync in interface org.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:
        loadConf in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • topic

        public org.apache.pulsar.client.api.ProducerBuilder<T> topic​(java.lang.String topicName)
        Specified by:
        topic in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • producerName

        public org.apache.pulsar.client.api.ProducerBuilder<T> producerName​(java.lang.String producerName)
        Specified by:
        producerName in interface org.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:
        sendTimeout in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • maxPendingMessages

        public org.apache.pulsar.client.api.ProducerBuilder<T> maxPendingMessages​(int maxPendingMessages)
        Specified by:
        maxPendingMessages in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • maxPendingMessagesAcrossPartitions

        public org.apache.pulsar.client.api.ProducerBuilder<T> maxPendingMessagesAcrossPartitions​(int maxPendingMessagesAcrossPartitions)
        Specified by:
        maxPendingMessagesAcrossPartitions in interface org.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:
        accessMode in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • blockIfQueueFull

        public org.apache.pulsar.client.api.ProducerBuilder<T> blockIfQueueFull​(boolean blockIfQueueFull)
        Specified by:
        blockIfQueueFull in interface org.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:
        messageRoutingMode in interface org.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:
        compressionType in interface org.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:
        hashingScheme in interface org.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:
        messageRouter in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • enableBatching

        public org.apache.pulsar.client.api.ProducerBuilder<T> enableBatching​(boolean batchMessagesEnabled)
        Specified by:
        enableBatching in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • enableChunking

        public org.apache.pulsar.client.api.ProducerBuilder<T> enableChunking​(boolean chunkingEnabled)
        Specified by:
        enableChunking in interface org.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:
        cryptoKeyReader in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • defaultCryptoKeyReader

        public org.apache.pulsar.client.api.ProducerBuilder<T> defaultCryptoKeyReader​(java.lang.String publicKey)
        Specified by:
        defaultCryptoKeyReader in interface org.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:
        defaultCryptoKeyReader in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • addEncryptionKey

        public org.apache.pulsar.client.api.ProducerBuilder<T> addEncryptionKey​(java.lang.String key)
        Specified by:
        addEncryptionKey in interface org.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:
        cryptoFailureAction in interface org.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:
        batchingMaxPublishDelay in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • roundRobinRouterBatchingPartitionSwitchFrequency

        public org.apache.pulsar.client.api.ProducerBuilder<T> roundRobinRouterBatchingPartitionSwitchFrequency​(int frequency)
        Specified by:
        roundRobinRouterBatchingPartitionSwitchFrequency in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • batchingMaxMessages

        public org.apache.pulsar.client.api.ProducerBuilder<T> batchingMaxMessages​(int batchMessagesMaxMessagesPerBatch)
        Specified by:
        batchingMaxMessages in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • batchingMaxBytes

        public org.apache.pulsar.client.api.ProducerBuilder<T> batchingMaxBytes​(int batchingMaxBytes)
        Specified by:
        batchingMaxBytes in interface org.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:
        batcherBuilder in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • initialSequenceId

        public org.apache.pulsar.client.api.ProducerBuilder<T> initialSequenceId​(long initialSequenceId)
        Specified by:
        initialSequenceId in interface org.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:
        property in interface org.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:
        properties in interface org.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:
        intercept in interface org.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:
        intercept in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • autoUpdatePartitions

        public org.apache.pulsar.client.api.ProducerBuilder<T> autoUpdatePartitions​(boolean autoUpdate)
        Specified by:
        autoUpdatePartitions in interface org.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:
        autoUpdatePartitionsInterval in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • enableMultiSchema

        public org.apache.pulsar.client.api.ProducerBuilder<T> enableMultiSchema​(boolean multiSchema)
        Specified by:
        enableMultiSchema in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • enableLazyStartPartitionedProducers

        public org.apache.pulsar.client.api.ProducerBuilder<T> enableLazyStartPartitionedProducers​(boolean lazyStartPartitionedProducers)
        Specified by:
        enableLazyStartPartitionedProducers in interface org.apache.pulsar.client.api.ProducerBuilder<T>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object