Interface ReactiveMessageSenderSpec

All Known Implementing Classes:
ImmutableReactiveMessageSenderSpec, MutableReactiveMessageSenderSpec

public interface ReactiveMessageSenderSpec
Spec for ReactiveMessageSender configuration.
  • Method Details

    • getTopicName

      String getTopicName()
      Gets the topic to publish on.
      Returns:
      the topic
      See Also:
      • ProducerBuilder.topic(java.lang.String)
    • getProducerName

      String getProducerName()
      Gets the name of the producer.
      Returns:
      the producer name
      See Also:
      • ProducerBuilder.producerName(java.lang.String)
    • getSendTimeout

      Duration getSendTimeout()
      Gets the send timeout.
      Returns:
      the send timeout
      See Also:
      • ProducerBuilder.sendTimeout(int, java.util.concurrent.TimeUnit)
    • getMaxPendingMessages

      Integer getMaxPendingMessages()
      Gets the maximum size of the queue holding the messages pending to receive an acknowledgment from the broker.
      Returns:
      the maximum pending messages
      See Also:
      • ProducerBuilder.maxPendingMessages(int)
    • getMaxPendingMessagesAcrossPartitions

      Integer getMaxPendingMessagesAcrossPartitions()
      Gets the maximum number of pending messages across all the partitions.
      Returns:
      the maximum number of pending messages across all the partitions
      See Also:
      • ProducerBuilder.maxPendingMessagesAcrossPartitions(int)
    • getMessageRoutingMode

      org.apache.pulsar.client.api.MessageRoutingMode getMessageRoutingMode()
      Gets the message routing logic for producers on partitioned topics.
      Returns:
      the message routing mode
      See Also:
      • ProducerBuilder.messageRoutingMode(org.apache.pulsar.client.api.MessageRoutingMode)
    • getHashingScheme

      org.apache.pulsar.client.api.HashingScheme getHashingScheme()
      Gets the hashing function determining the partition where to publish a particular message on partitioned topics.
      Returns:
      the hashing scheme
      See Also:
      • ProducerBuilder.hashingScheme(org.apache.pulsar.client.api.HashingScheme)
    • getCryptoFailureAction

      org.apache.pulsar.client.api.ProducerCryptoFailureAction getCryptoFailureAction()
      Gets the action the producer will take in case of encryption failures.
      Returns:
      the action the producer will take in case of encryption failures
      See Also:
      • ProducerBuilder.cryptoFailureAction(org.apache.pulsar.client.api.ProducerCryptoFailureAction)
    • getMessageRouter

      org.apache.pulsar.client.api.MessageRouter getMessageRouter()
      Gets the custom message router.
      Returns:
      the message router
      See Also:
      • ProducerBuilder.messageRouter(org.apache.pulsar.client.api.MessageRouter)
    • getBatchingMaxPublishDelay

      Duration getBatchingMaxPublishDelay()
      Gets the time period within which the messages sent will be batched.
      Returns:
      the batch delay
      See Also:
      • ProducerBuilder.batchingMaxPublishDelay(long, java.util.concurrent.TimeUnit)
    • getRoundRobinRouterBatchingPartitionSwitchFrequency

      Integer getRoundRobinRouterBatchingPartitionSwitchFrequency()
      Gets the partition switch frequency while batching of messages is enabled and using round-robin routing mode for non-keyed message.
      Returns:
      the frequency of partition switch
      See Also:
      • ProducerBuilder.roundRobinRouterBatchingPartitionSwitchFrequency(int)
    • getBatchingMaxMessages

      Integer getBatchingMaxMessages()
      Gets the maximum number of messages permitted in a batch.
      Returns:
      the maximum number of messages in a batch
      See Also:
      • ProducerBuilder.batchingMaxMessages(int)
    • getBatchingMaxBytes

      Integer getBatchingMaxBytes()
      Gets the maximum number of bytes permitted in a batch.
      Returns:
      the maximum bytes of messages in a batch
      See Also:
      • ProducerBuilder.batchingMaxBytes(int)
    • getBatchingEnabled

      Boolean getBatchingEnabled()
      Gets whether automatic batching of messages is enabled for the producer.
      Returns:
      true if batching is enabled
      See Also:
      • ProducerBuilder.enableBatching(boolean)
    • getBatcherBuilder

      org.apache.pulsar.client.api.BatcherBuilder getBatcherBuilder()
      Gets the batcher builder of the producer.
      Returns:
      the batcher builder
      See Also:
      • ProducerBuilder.batcherBuilder(org.apache.pulsar.client.api.BatcherBuilder)
    • getChunkingEnabled

      Boolean getChunkingEnabled()
      Gets whether chunking of messages is enabled.
      Returns:
      true if message chunking is enabled
      See Also:
      • ProducerBuilder.enableChunking(boolean)
    • getCryptoKeyReader

      org.apache.pulsar.client.api.CryptoKeyReader getCryptoKeyReader()
      Gets the key reader to be used to encrypt the message payloads.
      Returns:
      the key reader to be used to encrypt the message payloads
      See Also:
      • ProducerBuilder.cryptoKeyReader(org.apache.pulsar.client.api.CryptoKeyReader)
    • getEncryptionKeys

      Set<String> getEncryptionKeys()
      Gets the public encryption key names, used by producer to encrypt the data key.
      Returns:
      the public encryption key names
      See Also:
      • ProducerBuilder.addEncryptionKey(java.lang.String)
    • getCompressionType

      org.apache.pulsar.client.api.CompressionType getCompressionType()
      Gets the compression type for the producer.
      Returns:
      the compression type
      See Also:
      • ProducerBuilder.compressionType(org.apache.pulsar.client.api.CompressionType)
    • getInitialSequenceId

      Long getInitialSequenceId()
      Gets the baseline for the sequence ids for messages published by the producer.
      Returns:
      the initial sequence id
      See Also:
      • ProducerBuilder.initialSequenceId(long)
    • getAutoUpdatePartitions

      Boolean getAutoUpdatePartitions()
      Gets whether partitioned producer will automatically discover new partitions at runtime.
      Returns:
      true if auto discovery of the partition configuration changes is enabled
      See Also:
      • ProducerBuilder.autoUpdatePartitions(boolean)
    • getAutoUpdatePartitionsInterval

      Duration getAutoUpdatePartitionsInterval()
      Gets the interval of partitions updates if autoUpdatePartitions is enabled.
      Returns:
      the interval of partitions updates
      See Also:
      • ProducerBuilder.autoUpdatePartitionsInterval(int, java.util.concurrent.TimeUnit)
    • getMultiSchema

      Boolean getMultiSchema()
      Gets whether the multiple schema mode is enabled.
      Returns:
      true if the multiple schema mode is enabled
      See Also:
      • ProducerBuilder.enableMultiSchema(boolean)
    • getAccessMode

      org.apache.pulsar.client.api.ProducerAccessMode getAccessMode()
      Gets the type of access mode that the producer requires on the topic.
      Returns:
      the access mode
      See Also:
      • ProducerBuilder.accessMode(org.apache.pulsar.client.api.ProducerAccessMode)
    • getLazyStartPartitionedProducers

      Boolean getLazyStartPartitionedProducers()
      Gets whether producers register and connect immediately to the owner broker of each partition or start lazily on demand.
      Returns:
      true if lazy starting of partitioned producers is enabled
      See Also:
      • ProducerBuilder.enableLazyStartPartitionedProducers(boolean)
    • getProperties

      Map<String,String> getProperties()
      Gets the properties of the producer.
      Returns:
      the properties of the producer
      See Also:
      • ProducerBuilder.properties(java.util.Map<java.lang.String, java.lang.String>)