Class ImmutableReactiveMessageConsumerSpec
- java.lang.Object
-
- org.apache.pulsar.reactive.client.api.ImmutableReactiveMessageConsumerSpec
-
- All Implemented Interfaces:
ReactiveMessageConsumerSpec
public class ImmutableReactiveMessageConsumerSpec extends java.lang.Object implements ReactiveMessageConsumerSpec
Immutable spec for aReactiveMessageConsumer.
-
-
Constructor Summary
Constructors Constructor Description ImmutableReactiveMessageConsumerSpec(java.util.List<java.lang.String> topicNames, java.util.regex.Pattern topicsPattern, org.apache.pulsar.client.api.RegexSubscriptionMode topicsPatternSubscriptionMode, java.time.Duration topicsPatternAutoDiscoveryPeriod, java.lang.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, java.lang.Boolean replicateSubscriptionState, java.util.Map<java.lang.String,java.lang.String> subscriptionProperties, java.lang.String consumerName, java.util.Map<java.lang.String,java.lang.String> properties, java.lang.Integer priorityLevel, java.lang.Boolean readCompacted, java.lang.Boolean batchIndexAckEnabled, java.time.Duration ackTimeout, java.time.Duration ackTimeoutTickTime, java.time.Duration acknowledgementsGroupTime, java.lang.Boolean acknowledgeAsynchronously, reactor.core.scheduler.Scheduler acknowledgeScheduler, java.time.Duration negativeAckRedeliveryDelay, org.apache.pulsar.client.api.DeadLetterPolicy deadLetterPolicy, java.lang.Boolean retryLetterTopicEnable, java.lang.Integer receiverQueueSize, java.lang.Integer maxTotalReceiverQueueSizeAcrossPartitions, java.lang.Boolean autoUpdatePartitions, java.time.Duration autoUpdatePartitionsInterval, org.apache.pulsar.client.api.CryptoKeyReader cryptoKeyReader, org.apache.pulsar.client.api.ConsumerCryptoFailureAction cryptoFailureAction, java.lang.Integer maxPendingChunkedMessage, java.lang.Boolean autoAckOldestChunkedMessageOnQueueFull, java.time.Duration expireTimeOfIncompleteChunkedMessage)ImmutableReactiveMessageConsumerSpec(ReactiveMessageConsumerSpec consumerSpec)Constructs a ImmutableReactiveMessageConsumerSpec from anotherReactiveMessageConsumerSpec.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.BooleangetAcknowledgeAsynchronously()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.java.time.DurationgetAcknowledgementsGroupTime()Gets the duration used to group acknowledgements.reactor.core.scheduler.SchedulergetAcknowledgeScheduler()Gets the scheduler to use to handle acknowledgements.java.time.DurationgetAckTimeout()Gets the timeout duration for unacknowledged messages.java.time.DurationgetAckTimeoutTickTime()Gets the tick time of the ack-timeout redelivery.java.lang.BooleangetAutoAckOldestChunkedMessageOnQueueFull()Gets whether to automatically acknowledge pending chunked messages when maxPendingChunkedMessage is reached.java.lang.BooleangetAutoUpdatePartitions()Gets whether the consumer shall subscribe automatically to new partitions of partitioned topics.java.time.DurationgetAutoUpdatePartitionsInterval()Gets the interval of updating partitions when autoUpdatePartitions is enabled.java.lang.BooleangetBatchIndexAckEnabled()Gets whether batch index acknowledgement is enabled.java.lang.StringgetConsumerName()Gets the consumer name.org.apache.pulsar.client.api.ConsumerCryptoFailureActiongetCryptoFailureAction()Gets the action the consumer will take in case of decryption failures.org.apache.pulsar.client.api.CryptoKeyReadergetCryptoKeyReader()Gets the key reader to be used to decrypt the message payloads.org.apache.pulsar.client.api.DeadLetterPolicygetDeadLetterPolicy()Gets the dead letter policy for the consumer.java.time.DurationgetExpireTimeOfIncompleteChunkedMessage()Gets the time interval to expire incomplete chunks if a consumer fails to receive all the chunks.org.apache.pulsar.client.api.KeySharedPolicygetKeySharedPolicy()Gets the policy used forSubscriptionType.Key_Sharedsubscriptions.java.lang.IntegergetMaxPendingChunkedMessage()Gets the maximum number of messages in the queue holding pending chunked messages.java.lang.IntegergetMaxTotalReceiverQueueSizeAcrossPartitions()Gets the max total receiver queue size across partitions.java.time.DurationgetNegativeAckRedeliveryDelay()Gets the delay to wait before re-delivering messages that have failed to be processed.java.lang.IntegergetPriorityLevel()Gets the priority level for the consumer to which a broker gives more priority while dispatching messages.java.util.Map<java.lang.String,java.lang.String>getProperties()Gets the consumer properties.java.lang.BooleangetReadCompacted()Gets whether to read messages from the compacted topic rather than reading the full message backlog of the topic.java.lang.IntegergetReceiverQueueSize()Gets the size of the consumer receive queue.java.lang.BooleangetReplicateSubscriptionState()Gets whether the subscription shall be replicated.java.lang.BooleangetRetryLetterTopicEnable()Gets whether the retries are enabled.org.apache.pulsar.client.api.SubscriptionInitialPositiongetSubscriptionInitialPosition()Gets the subscription initial position.org.apache.pulsar.client.api.SubscriptionModegetSubscriptionMode()Gets the subscription mode.java.lang.StringgetSubscriptionName()Gets the subscription name.java.util.Map<java.lang.String,java.lang.String>getSubscriptionProperties()Gets the properties for the subscription.org.apache.pulsar.client.api.SubscriptionTypegetSubscriptionType()Gets the subscription type.java.util.List<java.lang.String>getTopicNames()Gets the topics to subscribe to.java.util.regex.PatterngetTopicsPattern()Gets the topics pattern of the topics to subscribe to.java.time.DurationgetTopicsPatternAutoDiscoveryPeriod()Gets the topics auto discovery period when using a topic pattern.org.apache.pulsar.client.api.RegexSubscriptionModegetTopicsPatternSubscriptionMode()Gets the type of topics to subscribe to when using a topic pattern - Persistent, Non-Persistent, or both.
-
-
-
Constructor Detail
-
ImmutableReactiveMessageConsumerSpec
public ImmutableReactiveMessageConsumerSpec(ReactiveMessageConsumerSpec consumerSpec)
Constructs a ImmutableReactiveMessageConsumerSpec from anotherReactiveMessageConsumerSpec.- Parameters:
consumerSpec- the spec to construct from
-
ImmutableReactiveMessageConsumerSpec
public ImmutableReactiveMessageConsumerSpec(java.util.List<java.lang.String> topicNames, java.util.regex.Pattern topicsPattern, org.apache.pulsar.client.api.RegexSubscriptionMode topicsPatternSubscriptionMode, java.time.Duration topicsPatternAutoDiscoveryPeriod, java.lang.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, java.lang.Boolean replicateSubscriptionState, java.util.Map<java.lang.String,java.lang.String> subscriptionProperties, java.lang.String consumerName, java.util.Map<java.lang.String,java.lang.String> properties, java.lang.Integer priorityLevel, java.lang.Boolean readCompacted, java.lang.Boolean batchIndexAckEnabled, java.time.Duration ackTimeout, java.time.Duration ackTimeoutTickTime, java.time.Duration acknowledgementsGroupTime, java.lang.Boolean acknowledgeAsynchronously, reactor.core.scheduler.Scheduler acknowledgeScheduler, java.time.Duration negativeAckRedeliveryDelay, org.apache.pulsar.client.api.DeadLetterPolicy deadLetterPolicy, java.lang.Boolean retryLetterTopicEnable, java.lang.Integer receiverQueueSize, java.lang.Integer maxTotalReceiverQueueSizeAcrossPartitions, java.lang.Boolean autoUpdatePartitions, java.time.Duration autoUpdatePartitionsInterval, org.apache.pulsar.client.api.CryptoKeyReader cryptoKeyReader, org.apache.pulsar.client.api.ConsumerCryptoFailureAction cryptoFailureAction, java.lang.Integer maxPendingChunkedMessage, java.lang.Boolean autoAckOldestChunkedMessageOnQueueFull, java.time.Duration expireTimeOfIncompleteChunkedMessage)
-
-
Method Detail
-
getTopicNames
public java.util.List<java.lang.String> getTopicNames()
Description copied from interface:ReactiveMessageConsumerSpecGets the topics to subscribe to.- Specified by:
getTopicNamesin interfaceReactiveMessageConsumerSpec- Returns:
- the topic names
- See Also:
ConsumerBuilder.topics(java.util.List<java.lang.String>)
-
getTopicsPattern
public java.util.regex.Pattern getTopicsPattern()
Description copied from interface:ReactiveMessageConsumerSpecGets the topics pattern of the topics to subscribe to.- Specified by:
getTopicsPatternin interfaceReactiveMessageConsumerSpec- Returns:
- the topics pattern
- See Also:
ConsumerBuilder.topicsPattern(Pattern)
-
getTopicsPatternSubscriptionMode
public org.apache.pulsar.client.api.RegexSubscriptionMode getTopicsPatternSubscriptionMode()
Description copied from interface:ReactiveMessageConsumerSpecGets the type of topics to subscribe to when using a topic pattern - Persistent, Non-Persistent, or both.- Specified by:
getTopicsPatternSubscriptionModein interfaceReactiveMessageConsumerSpec- Returns:
- the pattern subscription mode
- See Also:
ConsumerBuilder.subscriptionTopicsMode(org.apache.pulsar.client.api.RegexSubscriptionMode)
-
getTopicsPatternAutoDiscoveryPeriod
public java.time.Duration getTopicsPatternAutoDiscoveryPeriod()
Description copied from interface:ReactiveMessageConsumerSpecGets the topics auto discovery period when using a topic pattern.- Specified by:
getTopicsPatternAutoDiscoveryPeriodin interfaceReactiveMessageConsumerSpec- Returns:
- the topics discovery period
- See Also:
ConsumerBuilder.patternAutoDiscoveryPeriod(int)
-
getSubscriptionName
public java.lang.String getSubscriptionName()
Description copied from interface:ReactiveMessageConsumerSpecGets the subscription name.- Specified by:
getSubscriptionNamein 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:ReactiveMessageConsumerSpecGets the subscription mode.- Specified by:
getSubscriptionModein 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:ReactiveMessageConsumerSpecGets the subscription type.- Specified by:
getSubscriptionTypein 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:ReactiveMessageConsumerSpecGets the subscription initial position.- Specified by:
getSubscriptionInitialPositionin interfaceReactiveMessageConsumerSpec- Returns:
- the position where to initialize a newly created subscription
- See Also:
ConsumerBuilder.subscriptionInitialPosition(org.apache.pulsar.client.api.SubscriptionInitialPosition)
-
getKeySharedPolicy
public org.apache.pulsar.client.api.KeySharedPolicy getKeySharedPolicy()
Description copied from interface:ReactiveMessageConsumerSpecGets the policy used forSubscriptionType.Key_Sharedsubscriptions.- Specified by:
getKeySharedPolicyin interfaceReactiveMessageConsumerSpec- Returns:
- the key-shared policy
- See Also:
ConsumerBuilder.keySharedPolicy(org.apache.pulsar.client.api.KeySharedPolicy)
-
getReplicateSubscriptionState
public java.lang.Boolean getReplicateSubscriptionState()
Description copied from interface:ReactiveMessageConsumerSpecGets whether the subscription shall be replicated.- Specified by:
getReplicateSubscriptionStatein interfaceReactiveMessageConsumerSpec- Returns:
- true if the subscription is replicated
- See Also:
ConsumerBuilder.replicateSubscriptionState(boolean)
-
getSubscriptionProperties
public java.util.Map<java.lang.String,java.lang.String> getSubscriptionProperties()
Description copied from interface:ReactiveMessageConsumerSpecGets the properties for the subscription.- Specified by:
getSubscriptionPropertiesin interfaceReactiveMessageConsumerSpec- Returns:
- the subscription properties
- See Also:
ConsumerBuilder.subscriptionProperties(java.util.Map<java.lang.String, java.lang.String>)
-
getConsumerName
public java.lang.String getConsumerName()
Description copied from interface:ReactiveMessageConsumerSpecGets the consumer name.- Specified by:
getConsumerNamein interfaceReactiveMessageConsumerSpec- Returns:
- the consumer name
- See Also:
ConsumerBuilder.consumerName(java.lang.String)
-
getProperties
public java.util.Map<java.lang.String,java.lang.String> getProperties()
Description copied from interface:ReactiveMessageConsumerSpecGets the consumer properties.- Specified by:
getPropertiesin interfaceReactiveMessageConsumerSpec- Returns:
- the consumer properties
- See Also:
ConsumerBuilder.properties(java.util.Map<java.lang.String, java.lang.String>)
-
getPriorityLevel
public java.lang.Integer getPriorityLevel()
Description copied from interface:ReactiveMessageConsumerSpecGets the priority level for the consumer to which a broker gives more priority while dispatching messages.- Specified by:
getPriorityLevelin interfaceReactiveMessageConsumerSpec- Returns:
- the priority level of the consumer
- See Also:
ConsumerBuilder.priorityLevel(int)
-
getReadCompacted
public java.lang.Boolean getReadCompacted()
Description copied from interface:ReactiveMessageConsumerSpecGets whether to read messages from the compacted topic rather than reading the full message backlog of the topic.- Specified by:
getReadCompactedin interfaceReactiveMessageConsumerSpec- Returns:
- true if messages are read from the compacted topic
- See Also:
ConsumerBuilder.readCompacted(boolean)
-
getBatchIndexAckEnabled
public java.lang.Boolean getBatchIndexAckEnabled()
Description copied from interface:ReactiveMessageConsumerSpecGets whether batch index acknowledgement is enabled.- Specified by:
getBatchIndexAckEnabledin interfaceReactiveMessageConsumerSpec- Returns:
- true if batch index acknowledgement is enabled
- See Also:
ConsumerBuilder.enableBatchIndexAcknowledgment(boolean)
-
getAckTimeout
public java.time.Duration getAckTimeout()
Description copied from interface:ReactiveMessageConsumerSpecGets the timeout duration for unacknowledged messages.- Specified by:
getAckTimeoutin interfaceReactiveMessageConsumerSpec- Returns:
- the timeout duration for unacknowledged messages
- See Also:
ConsumerBuilder.ackTimeout(long, java.util.concurrent.TimeUnit)
-
getAckTimeoutTickTime
public java.time.Duration getAckTimeoutTickTime()
Description copied from interface:ReactiveMessageConsumerSpecGets the tick time of the ack-timeout redelivery.- Specified by:
getAckTimeoutTickTimein interfaceReactiveMessageConsumerSpec- Returns:
- the tick time of the ack-timeout redelivery
- See Also:
ConsumerBuilder.ackTimeoutTickTime(long, java.util.concurrent.TimeUnit)
-
getAcknowledgementsGroupTime
public java.time.Duration getAcknowledgementsGroupTime()
Description copied from interface:ReactiveMessageConsumerSpecGets the duration used to group acknowledgements.- Specified by:
getAcknowledgementsGroupTimein interfaceReactiveMessageConsumerSpec- Returns:
- the duration used to group acknowledgements
- See Also:
ConsumerBuilder.acknowledgmentGroupTime(long, java.util.concurrent.TimeUnit)
-
getAcknowledgeAsynchronously
public java.lang.Boolean getAcknowledgeAsynchronously()
Description copied from interface:ReactiveMessageConsumerSpecGets 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:
getAcknowledgeAsynchronouslyin interfaceReactiveMessageConsumerSpec- Returns:
- true if the acknowledge operation completion is ignored
-
getAcknowledgeScheduler
public reactor.core.scheduler.Scheduler getAcknowledgeScheduler()
Description copied from interface:ReactiveMessageConsumerSpecGets the scheduler to use to handle acknowledgements.- Specified by:
getAcknowledgeSchedulerin interfaceReactiveMessageConsumerSpec- Returns:
- the scheduler to use to handle acknowledgements
-
getNegativeAckRedeliveryDelay
public java.time.Duration getNegativeAckRedeliveryDelay()
Description copied from interface:ReactiveMessageConsumerSpecGets the delay to wait before re-delivering messages that have failed to be processed.- Specified by:
getNegativeAckRedeliveryDelayin 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:ReactiveMessageConsumerSpecGets the dead letter policy for the consumer.- Specified by:
getDeadLetterPolicyin interfaceReactiveMessageConsumerSpec- Returns:
- the dead letter policy
- See Also:
ConsumerBuilder.deadLetterPolicy(org.apache.pulsar.client.api.DeadLetterPolicy)
-
getRetryLetterTopicEnable
public java.lang.Boolean getRetryLetterTopicEnable()
Description copied from interface:ReactiveMessageConsumerSpecGets whether the retries are enabled.- Specified by:
getRetryLetterTopicEnablein interfaceReactiveMessageConsumerSpec- Returns:
- true if retries are enabled
- See Also:
ConsumerBuilder.enableRetry(boolean)
-
getReceiverQueueSize
public java.lang.Integer getReceiverQueueSize()
Description copied from interface:ReactiveMessageConsumerSpecGets the size of the consumer receive queue.- Specified by:
getReceiverQueueSizein interfaceReactiveMessageConsumerSpec- Returns:
- the size of the consumer receive queue
- See Also:
ConsumerBuilder.receiverQueueSize(int)
-
getMaxTotalReceiverQueueSizeAcrossPartitions
public java.lang.Integer getMaxTotalReceiverQueueSizeAcrossPartitions()
Description copied from interface:ReactiveMessageConsumerSpecGets the max total receiver queue size across partitions.- Specified by:
getMaxTotalReceiverQueueSizeAcrossPartitionsin interfaceReactiveMessageConsumerSpec- Returns:
- the max total receiver queue size across partitions
- See Also:
ConsumerBuilder.maxTotalReceiverQueueSizeAcrossPartitions(int)
-
getAutoUpdatePartitions
public java.lang.Boolean getAutoUpdatePartitions()
Description copied from interface:ReactiveMessageConsumerSpecGets whether the consumer shall subscribe automatically to new partitions of partitioned topics.- Specified by:
getAutoUpdatePartitionsin interfaceReactiveMessageConsumerSpec- Returns:
- true if the consumer subscribes automatically to new partitions
- See Also:
ConsumerBuilder.autoUpdatePartitions(boolean)
-
getAutoUpdatePartitionsInterval
public java.time.Duration getAutoUpdatePartitionsInterval()
Description copied from interface:ReactiveMessageConsumerSpecGets the interval of updating partitions when autoUpdatePartitions is enabled.- Specified by:
getAutoUpdatePartitionsIntervalin 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:ReactiveMessageConsumerSpecGets the key reader to be used to decrypt the message payloads.- Specified by:
getCryptoKeyReaderin 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:ReactiveMessageConsumerSpecGets the action the consumer will take in case of decryption failures.- Specified by:
getCryptoFailureActionin interfaceReactiveMessageConsumerSpec- Returns:
- the action the consumer will take in case of decryption failures
- See Also:
ConsumerBuilder.cryptoFailureAction(org.apache.pulsar.client.api.ConsumerCryptoFailureAction)
-
getMaxPendingChunkedMessage
public java.lang.Integer getMaxPendingChunkedMessage()
Description copied from interface:ReactiveMessageConsumerSpecGets the maximum number of messages in the queue holding pending chunked messages.- Specified by:
getMaxPendingChunkedMessagein interfaceReactiveMessageConsumerSpec- Returns:
- the maximum number of messages in the queue holding pending chunked
- See Also:
messages.
-
getAutoAckOldestChunkedMessageOnQueueFull
public java.lang.Boolean getAutoAckOldestChunkedMessageOnQueueFull()
Description copied from interface:ReactiveMessageConsumerSpecGets whether to automatically acknowledge pending chunked messages when maxPendingChunkedMessage is reached.- Specified by:
getAutoAckOldestChunkedMessageOnQueueFullin interfaceReactiveMessageConsumerSpec- Returns:
- true to acknowledge the messages, false to have them redelivered.
- See Also:
ConsumerBuilder.autoAckOldestChunkedMessageOnQueueFull(boolean),ConsumerBuilder.maxPendingChunkedMessage(int)
-
getExpireTimeOfIncompleteChunkedMessage
public java.time.Duration getExpireTimeOfIncompleteChunkedMessage()
Description copied from interface:ReactiveMessageConsumerSpecGets the time interval to expire incomplete chunks if a consumer fails to receive all the chunks.- Specified by:
getExpireTimeOfIncompleteChunkedMessagein interfaceReactiveMessageConsumerSpec- Returns:
- the time interval to expire incomplete chunks.
- See Also:
ConsumerBuilder.expireTimeOfIncompleteChunkedMessage(long, java.util.concurrent.TimeUnit)
-
-