Class ImmutableReactiveMessageConsumerSpec
java.lang.Object
org.apache.pulsar.reactive.client.api.ImmutableReactiveMessageConsumerSpec
- All Implemented Interfaces:
ReactiveMessageConsumerSpec
public class ImmutableReactiveMessageConsumerSpec
extends Object
implements ReactiveMessageConsumerSpec
Immutable spec for a
ReactiveMessageConsumer
.-
Constructor Summary
ConstructorsConstructorDescriptionImmutableReactiveMessageConsumerSpec
(List<String> topicNames, Pattern topicsPattern, org.apache.pulsar.client.api.RegexSubscriptionMode topicsPatternSubscriptionMode, Duration topicsPatternAutoDiscoveryPeriod, String subscriptionName, org.apache.pulsar.client.api.SubscriptionMode subscriptionMode, org.apache.pulsar.client.api.SubscriptionType subscriptionType, org.apache.pulsar.client.api.SubscriptionInitialPosition subscriptionInitialPosition, org.apache.pulsar.client.api.KeySharedPolicy keySharedPolicy, Boolean replicateSubscriptionState, Map<String, String> subscriptionProperties, String consumerName, Map<String, String> properties, Integer priorityLevel, Boolean readCompacted, Boolean batchIndexAckEnabled, Duration ackTimeout, Duration ackTimeoutTickTime, Duration acknowledgementsGroupTime, Boolean acknowledgeAsynchronously, reactor.core.scheduler.Scheduler acknowledgeScheduler, Duration negativeAckRedeliveryDelay, org.apache.pulsar.client.api.DeadLetterPolicy deadLetterPolicy, Boolean retryLetterTopicEnable, Integer receiverQueueSize, Integer maxTotalReceiverQueueSizeAcrossPartitions, Boolean autoUpdatePartitions, Duration autoUpdatePartitionsInterval, org.apache.pulsar.client.api.CryptoKeyReader cryptoKeyReader, org.apache.pulsar.client.api.ConsumerCryptoFailureAction cryptoFailureAction, Integer maxPendingChunkedMessage, Boolean autoAckOldestChunkedMessageOnQueueFull, Duration expireTimeOfIncompleteChunkedMessage) Constructs a ImmutableReactiveMessageConsumerSpec from anotherReactiveMessageConsumerSpec
. -
Method Summary
Modifier and TypeMethodDescriptionGets whether to ignore the acknowledge operation completion and make it asynchronous from the message consuming processing to improve performance by allowing the acknowledges and message processing to interleave.Gets the duration used to group acknowledgements.reactor.core.scheduler.Scheduler
Gets the scheduler to use to handle acknowledgements.Gets the timeout duration for unacknowledged messages.Gets the tick time of the ack-timeout redelivery.Gets whether to automatically acknowledge pending chunked messages when maxPendingChunkedMessage is reached.Gets whether the consumer shall subscribe automatically to new partitions of partitioned topics.Gets the interval of updating partitions when autoUpdatePartitions is enabled.Gets whether batch index acknowledgement is enabled.Gets the consumer name.org.apache.pulsar.client.api.ConsumerCryptoFailureAction
Gets the action the consumer will take in case of decryption failures.org.apache.pulsar.client.api.CryptoKeyReader
Gets the key reader to be used to decrypt the message payloads.org.apache.pulsar.client.api.DeadLetterPolicy
Gets the dead letter policy for the consumer.Gets the time interval to expire incomplete chunks if a consumer fails to receive all the chunks.org.apache.pulsar.client.api.KeySharedPolicy
Gets the policy used forSubscriptionType.Key_Shared
subscriptions.Gets the maximum number of messages in the queue holding pending chunked messages.Gets the max total receiver queue size across partitions.Gets the delay to wait before re-delivering messages that have failed to be processed.Gets the priority level for the consumer to which a broker gives more priority while dispatching messages.Gets the consumer properties.Gets whether to read messages from the compacted topic rather than reading the full message backlog of the topic.Gets the size of the consumer receive queue.Gets whether the subscription shall be replicated.Gets whether the retries are enabled.org.apache.pulsar.client.api.SubscriptionInitialPosition
Gets the subscription initial position.org.apache.pulsar.client.api.SubscriptionMode
Gets the subscription mode.Gets the subscription name.Gets the properties for the subscription.org.apache.pulsar.client.api.SubscriptionType
Gets the subscription type.Gets the topics to subscribe to.Gets the topics pattern of the topics to subscribe to.Gets the topics auto discovery period when using a topic pattern.org.apache.pulsar.client.api.RegexSubscriptionMode
Gets the type of topics to subscribe to when using a topic pattern - Persistent, Non-Persistent, or both.
-
Constructor Details
-
ImmutableReactiveMessageConsumerSpec
Constructs a ImmutableReactiveMessageConsumerSpec from anotherReactiveMessageConsumerSpec
.- Parameters:
consumerSpec
- the spec to construct from
-
-
Method Details
-
getTopicNames
Description copied from interface:ReactiveMessageConsumerSpec
Gets the topics to subscribe to.- Specified by:
getTopicNames
in interfaceReactiveMessageConsumerSpec
- Returns:
- the topic names
- See Also:
-
ConsumerBuilder.topics(java.util.List<java.lang.String>)
-
getTopicsPattern
Description copied from interface:ReactiveMessageConsumerSpec
Gets the topics pattern of the topics to subscribe to.- Specified by:
getTopicsPattern
in interfaceReactiveMessageConsumerSpec
- Returns:
- the topics pattern
- See Also:
-
ConsumerBuilder.topicsPattern(Pattern)
-
getTopicsPatternSubscriptionMode
public org.apache.pulsar.client.api.RegexSubscriptionMode getTopicsPatternSubscriptionMode()Description copied from interface:ReactiveMessageConsumerSpec
Gets the type of topics to subscribe to when using a topic pattern - Persistent, Non-Persistent, or both.- Specified by:
getTopicsPatternSubscriptionMode
in interfaceReactiveMessageConsumerSpec
- Returns:
- the pattern subscription mode
- See Also:
-
ConsumerBuilder.subscriptionTopicsMode(org.apache.pulsar.client.api.RegexSubscriptionMode)
-
getTopicsPatternAutoDiscoveryPeriod
Description copied from interface:ReactiveMessageConsumerSpec
Gets the topics auto discovery period when using a topic pattern.- Specified by:
getTopicsPatternAutoDiscoveryPeriod
in interfaceReactiveMessageConsumerSpec
- Returns:
- the topics discovery period
- See Also:
-
ConsumerBuilder.patternAutoDiscoveryPeriod(int)
-
getSubscriptionName
Description copied from interface:ReactiveMessageConsumerSpec
Gets the subscription name.- Specified by:
getSubscriptionName
in interfaceReactiveMessageConsumerSpec
- Returns:
- the name of the subscription
- See Also:
-
ConsumerBuilder.subscriptionName(java.lang.String)
-
getSubscriptionMode
public org.apache.pulsar.client.api.SubscriptionMode getSubscriptionMode()Description copied from interface:ReactiveMessageConsumerSpec
Gets the subscription mode.- Specified by:
getSubscriptionMode
in interfaceReactiveMessageConsumerSpec
- Returns:
- the subscription mode
- See Also:
-
ConsumerBuilder.subscriptionMode(org.apache.pulsar.client.api.SubscriptionMode)
-
getSubscriptionType
public org.apache.pulsar.client.api.SubscriptionType getSubscriptionType()Description copied from interface:ReactiveMessageConsumerSpec
Gets the subscription type.- Specified by:
getSubscriptionType
in interfaceReactiveMessageConsumerSpec
- Returns:
- the subscription type
- See Also:
-
ConsumerBuilder.subscriptionType(org.apache.pulsar.client.api.SubscriptionType)
-
getSubscriptionInitialPosition
public org.apache.pulsar.client.api.SubscriptionInitialPosition getSubscriptionInitialPosition()Description copied from interface:ReactiveMessageConsumerSpec
Gets the subscription initial position.- Specified by:
getSubscriptionInitialPosition
in interfaceReactiveMessageConsumerSpec
- Returns:
- the position where to initialize a newly created subscription
- See Also:
-
ConsumerBuilder.subscriptionInitialPosition(org.apache.pulsar.client.api.SubscriptionInitialPosition)
-
getReplicateSubscriptionState
Description copied from interface:ReactiveMessageConsumerSpec
Gets whether the subscription shall be replicated.- Specified by:
getReplicateSubscriptionState
in interfaceReactiveMessageConsumerSpec
- Returns:
- true if the subscription is replicated
- See Also:
-
ConsumerBuilder.replicateSubscriptionState(boolean)
-
getSubscriptionProperties
Description copied from interface:ReactiveMessageConsumerSpec
Gets the properties for the subscription.- Specified by:
getSubscriptionProperties
in interfaceReactiveMessageConsumerSpec
- Returns:
- the subscription properties
- See Also:
-
ConsumerBuilder.subscriptionProperties(java.util.Map<java.lang.String, java.lang.String>)
-
getConsumerName
Description copied from interface:ReactiveMessageConsumerSpec
Gets the consumer name.- Specified by:
getConsumerName
in interfaceReactiveMessageConsumerSpec
- Returns:
- the consumer name
- See Also:
-
ConsumerBuilder.consumerName(java.lang.String)
-
getProperties
Description copied from interface:ReactiveMessageConsumerSpec
Gets the consumer properties.- Specified by:
getProperties
in interfaceReactiveMessageConsumerSpec
- Returns:
- the consumer properties
- See Also:
-
ConsumerBuilder.properties(java.util.Map<java.lang.String, java.lang.String>)
-
getPriorityLevel
Description copied from interface:ReactiveMessageConsumerSpec
Gets the priority level for the consumer to which a broker gives more priority while dispatching messages.- Specified by:
getPriorityLevel
in interfaceReactiveMessageConsumerSpec
- Returns:
- the priority level of the consumer
- See Also:
-
ConsumerBuilder.priorityLevel(int)
-
getReadCompacted
Description copied from interface:ReactiveMessageConsumerSpec
Gets whether to read messages from the compacted topic rather than reading the full message backlog of the topic.- Specified by:
getReadCompacted
in interfaceReactiveMessageConsumerSpec
- Returns:
- true if messages are read from the compacted topic
- See Also:
-
ConsumerBuilder.readCompacted(boolean)
-
getBatchIndexAckEnabled
Description copied from interface:ReactiveMessageConsumerSpec
Gets whether batch index acknowledgement is enabled.- Specified by:
getBatchIndexAckEnabled
in interfaceReactiveMessageConsumerSpec
- Returns:
- true if batch index acknowledgement is enabled
- See Also:
-
ConsumerBuilder.enableBatchIndexAcknowledgment(boolean)
-
getAckTimeout
Description copied from interface:ReactiveMessageConsumerSpec
Gets the timeout duration for unacknowledged messages.- Specified by:
getAckTimeout
in interfaceReactiveMessageConsumerSpec
- Returns:
- the timeout duration for unacknowledged messages
- See Also:
-
ConsumerBuilder.ackTimeout(long, java.util.concurrent.TimeUnit)
-
getAckTimeoutTickTime
Description copied from interface:ReactiveMessageConsumerSpec
Gets the tick time of the ack-timeout redelivery.- Specified by:
getAckTimeoutTickTime
in interfaceReactiveMessageConsumerSpec
- Returns:
- the tick time of the ack-timeout redelivery
- See Also:
-
ConsumerBuilder.ackTimeoutTickTime(long, java.util.concurrent.TimeUnit)
-
getAcknowledgementsGroupTime
Description copied from interface:ReactiveMessageConsumerSpec
Gets the duration used to group acknowledgements.- Specified by:
getAcknowledgementsGroupTime
in interfaceReactiveMessageConsumerSpec
- Returns:
- the duration used to group acknowledgements
- See Also:
-
ConsumerBuilder.acknowledgmentGroupTime(long, java.util.concurrent.TimeUnit)
-
getAcknowledgeAsynchronously
Description copied from interface:ReactiveMessageConsumerSpec
Gets whether to ignore the acknowledge operation completion and make it asynchronous from the message consuming processing to improve performance by allowing the acknowledges and message processing to interleave.- Specified by:
getAcknowledgeAsynchronously
in interfaceReactiveMessageConsumerSpec
- Returns:
- true if the acknowledge operation completion is ignored
-
getAcknowledgeScheduler
public reactor.core.scheduler.Scheduler getAcknowledgeScheduler()Description copied from interface:ReactiveMessageConsumerSpec
Gets the scheduler to use to handle acknowledgements.- Specified by:
getAcknowledgeScheduler
in interfaceReactiveMessageConsumerSpec
- Returns:
- the scheduler to use to handle acknowledgements
-
getNegativeAckRedeliveryDelay
Description copied from interface:ReactiveMessageConsumerSpec
Gets the delay to wait before re-delivering messages that have failed to be processed.- Specified by:
getNegativeAckRedeliveryDelay
in interfaceReactiveMessageConsumerSpec
- Returns:
- the redelivery delay for failed messages
- See Also:
-
ConsumerBuilder.negativeAckRedeliveryDelay(long, java.util.concurrent.TimeUnit)
-
getDeadLetterPolicy
public org.apache.pulsar.client.api.DeadLetterPolicy getDeadLetterPolicy()Description copied from interface:ReactiveMessageConsumerSpec
Gets the dead letter policy for the consumer.- Specified by:
getDeadLetterPolicy
in interfaceReactiveMessageConsumerSpec
- Returns:
- the dead letter policy
- See Also:
-
ConsumerBuilder.deadLetterPolicy(org.apache.pulsar.client.api.DeadLetterPolicy)
-
getRetryLetterTopicEnable
Description copied from interface:ReactiveMessageConsumerSpec
Gets whether the retries are enabled.- Specified by:
getRetryLetterTopicEnable
in interfaceReactiveMessageConsumerSpec
- Returns:
- true if retries are enabled
- See Also:
-
ConsumerBuilder.enableRetry(boolean)
-
getReceiverQueueSize
Description copied from interface:ReactiveMessageConsumerSpec
Gets the size of the consumer receive queue.- Specified by:
getReceiverQueueSize
in interfaceReactiveMessageConsumerSpec
- Returns:
- the size of the consumer receive queue
- See Also:
-
ConsumerBuilder.receiverQueueSize(int)
-
getMaxTotalReceiverQueueSizeAcrossPartitions
Description copied from interface:ReactiveMessageConsumerSpec
Gets the max total receiver queue size across partitions.- Specified by:
getMaxTotalReceiverQueueSizeAcrossPartitions
in interfaceReactiveMessageConsumerSpec
- Returns:
- the max total receiver queue size across partitions
- See Also:
-
ConsumerBuilder.maxTotalReceiverQueueSizeAcrossPartitions(int)
-
getAutoUpdatePartitions
Description copied from interface:ReactiveMessageConsumerSpec
Gets whether the consumer shall subscribe automatically to new partitions of partitioned topics.- Specified by:
getAutoUpdatePartitions
in interfaceReactiveMessageConsumerSpec
- Returns:
- true if the consumer subscribes automatically to new partitions
- See Also:
-
ConsumerBuilder.autoUpdatePartitions(boolean)
-
getAutoUpdatePartitionsInterval
Description copied from interface:ReactiveMessageConsumerSpec
Gets the interval of updating partitions when autoUpdatePartitions is enabled.- Specified by:
getAutoUpdatePartitionsInterval
in interfaceReactiveMessageConsumerSpec
- Returns:
- the interval between partitions updates
- See Also:
-
ConsumerBuilder.autoUpdatePartitionsInterval(int, java.util.concurrent.TimeUnit)
ConsumerBuilder.autoUpdatePartitions(boolean)
-
getCryptoKeyReader
public org.apache.pulsar.client.api.CryptoKeyReader getCryptoKeyReader()Description copied from interface:ReactiveMessageConsumerSpec
Gets the key reader to be used to decrypt the message payloads.- Specified by:
getCryptoKeyReader
in interfaceReactiveMessageConsumerSpec
- Returns:
- the key reader to be used to decrypt the message payloads
- See Also:
-
ConsumerBuilder.cryptoKeyReader(org.apache.pulsar.client.api.CryptoKeyReader)
-
getCryptoFailureAction
public org.apache.pulsar.client.api.ConsumerCryptoFailureAction getCryptoFailureAction()Description copied from interface:ReactiveMessageConsumerSpec
Gets the action the consumer will take in case of decryption failures.- Specified by:
getCryptoFailureAction
in interfaceReactiveMessageConsumerSpec
- Returns:
- the action the consumer will take in case of decryption failures
- See Also:
-
ConsumerBuilder.cryptoFailureAction(org.apache.pulsar.client.api.ConsumerCryptoFailureAction)
-
getMaxPendingChunkedMessage
Description copied from interface:ReactiveMessageConsumerSpec
Gets the maximum number of messages in the queue holding pending chunked messages.- Specified by:
getMaxPendingChunkedMessage
in interfaceReactiveMessageConsumerSpec
- Returns:
- the maximum number of messages in the queue holding pending chunked
- See Also:
-
messages.
-
getAutoAckOldestChunkedMessageOnQueueFull
Description copied from interface:ReactiveMessageConsumerSpec
Gets whether to automatically acknowledge pending chunked messages when maxPendingChunkedMessage is reached.- Specified by:
getAutoAckOldestChunkedMessageOnQueueFull
in interfaceReactiveMessageConsumerSpec
- Returns:
- true to acknowledge the messages, false to have them redelivered.
- See Also:
-
ConsumerBuilder.autoAckOldestChunkedMessageOnQueueFull(boolean)
ConsumerBuilder.maxPendingChunkedMessage(int)
-
getExpireTimeOfIncompleteChunkedMessage
Description copied from interface:ReactiveMessageConsumerSpec
Gets the time interval to expire incomplete chunks if a consumer fails to receive all the chunks.- Specified by:
getExpireTimeOfIncompleteChunkedMessage
in interfaceReactiveMessageConsumerSpec
- Returns:
- the time interval to expire incomplete chunks.
- See Also:
-
ConsumerBuilder.expireTimeOfIncompleteChunkedMessage(long, java.util.concurrent.TimeUnit)
-