类 ConsumerImpl<T>
java.lang.Object
org.apache.pulsar.client.impl.ConsumerBase<T>
org.apache.pulsar.client.impl.ConsumerImpl<T>
- 所有已实现的接口:
Closeable,AutoCloseable,Consumer<T>,MessageAcknowledger
- 直接已知子类:
ZeroQueueConsumerImpl
-
嵌套类概要
从类继承的嵌套类/接口 org.apache.pulsar.client.impl.ConsumerBase
ConsumerBase.OpBatchReceive<T> -
字段概要
字段修饰符和类型字段说明protected ConcurrentOpenHashMap<String,org.apache.pulsar.client.impl.ConsumerImpl.ChunkedMessageCtx> protected final PulsarClientImplprotected longprotected MessageIdprotected booleanprotected URIprotected final ConsumerStatsRecorderprotected final String从类继承的字段 org.apache.pulsar.client.impl.ConsumerBase
batchReceivePolicy, batchReceiveTimeout, conf, CONSUMER_EPOCH, consumerEpoch, consumerEventListener, consumerName, CURRENT_RECEIVER_QUEUE_SIZE_UPDATER, executorProvider, externalPinnedExecutor, incomingMessagesSize, incomingQueueLock, INITIAL_RECEIVER_QUEUE_SIZE, interceptors, internalPinnedExecutor, listener, maxReceiverQueueSize, MEMORY_THRESHOLD_FOR_RECEIVER_QUEUE_SIZE_EXPANSION, MESSAGE_LISTENER_QUEUE_SIZE_UPDATER, messageListenerQueueSize, pendingBatchReceives, pendingReceives, scaleReceiverQueueHint, schema, subscribeFuture, subscription, unAckedChunkedMessageIdSequenceMap, unAckedMessageTracker -
构造器概要
构造器限定符构造器说明protectedConsumerImpl(PulsarClientImpl client, String topic, ConsumerConfigurationData<T> conf, ExecutorProvider executorProvider, int partitionIndex, boolean hasParentConsumer, boolean parentConsumerHasListener, CompletableFuture<Consumer<T>> subscribeFuture, MessageId startMessageId, long startMessageRollbackDurationInSec, Schema<T> schema, ConsumerInterceptors<T> interceptors, boolean createTopicIfDoesNotExist) -
方法概要
修饰符和类型方法说明protected booleanprotected booleanprotected booleanprotected voidvoidconnectionFailed(PulsarClientException exception) protected voidconsumerIsReconnectedToBroker(ClientCnx cnx, int currentQueueSize) protected CompletableFuture<Void>doAcknowledge(List<MessageId> messageIdList, CommandAck.AckType ackType, Map<String, Long> properties, TransactionImpl txn) protected CompletableFuture<Void>doAcknowledge(MessageId messageId, CommandAck.AckType ackType, Map<String, Long> properties, TransactionImpl txn) protected CompletableFuture<Void>doReconsumeLater(Message<?> message, CommandAck.AckType ackType, Map<String, String> customProperties, long delayTime, TimeUnit unit) booleanprotected org.apache.pulsar.client.impl.HandlerState.StategetAndUpdateState(UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater) intlong已过时。protected org.apache.pulsar.client.impl.HandlerState.StategetState()getStats()已过时。inthashCode()booleanbooleanvoidincreaseAvailablePermits(int delta) protected voidincreaseAvailablePermits(ClientCnx currentCnx, int delta) protected CompletableFuture<Messages<T>>CompletableFuture<org.apache.pulsar.client.impl.ConsumerImpl.GetLastMessageIdResponse>internalReceive(long timeout, TimeUnit unit) protected CompletableFuture<Message<T>>protected booleanisBatch(MessageMetadata messageMetadata) booleanbooleanisConnected(ClientCnx cnx) protected voidmessageProcessed(Message<?> msg) Record the event that one message has been processed by the application.intvoidnegativeAcknowledge(Message<?> message) voidnegativeAcknowledge(MessageId messageId) protected <V> MessageImpl<V>newMessage(MessageIdImpl messageId, BrokerEntryMetadata brokerEntryMetadata, MessageMetadata messageMetadata, io.netty.buffer.ByteBuf payload, Schema<V> schema, int redeliveryCount, long consumerEpoch) protected <V> MessageImpl<V>newSingleMessage(int index, int numMessages, BrokerEntryMetadata brokerEntryMetadata, MessageMetadata msgMetadata, SingleMessageMetadata singleMessageMetadata, io.netty.buffer.ByteBuf payload, MessageIdImpl messageId, Schema<V> schema, boolean containMetadata, BitSetRecyclable ackBitSet, BitSet ackSetInMessageId, int redeliveryCount, long consumerEpoch) intvoidpause()voidvoidredeliverUnacknowledgedMessages(Set<MessageId> messageIds) Redelivers the given unacknowledged messages.protected voidvoidresume()voidseek(long timestamp) voidvoidseekAsync(long timestamp) protected voidsetCurrentReceiverQueueSize(int newSize) Update the size of the consumer receive queue.protected voidsetRedirectedClusterURI(String serviceUrl, String serviceUrlTls) protected voidsetState(org.apache.pulsar.client.impl.HandlerState.State s) protected voidtrackMessage(Message<?> msg) protected voidtrackMessage(MessageId messageId) protected voidtrackMessage(MessageId messageId, int redeliveryCount) unsubscribeAsync(boolean force) protected void从类继承的方法 org.apache.pulsar.client.impl.ConsumerBase
acknowledge, acknowledge, acknowledge, acknowledge, acknowledgeAsync, acknowledgeAsync, acknowledgeAsync, acknowledgeAsync, acknowledgeAsync, acknowledgeAsync, acknowledgeAsync, acknowledgeCumulative, acknowledgeCumulative, acknowledgeCumulativeAsync, acknowledgeCumulativeAsync, acknowledgeCumulativeAsync, batchReceive, batchReceiveAsync, beforeConsume, callMessageListener, canEnqueueMessage, clearIncomingMessages, close, completePendingBatchReceive, completePendingReceive, decreaseIncomingMessageSize, doAcknowledgeWithTxn, doAcknowledgeWithTxn, enqueueMessageAndCheckBatchReceive, expectMoreIncomingMessages, failPendingReceive, getConsumerName, getCurrentReceiverQueueSize, getIncomingMessageSize, getLastMessageId, getLastMessageIds, getNewMessagesImpl, getSubscription, getSubType, getTopic, getTotalIncomingMessages, hasBatchReceiveTimeout, hasEnoughMessagesForBatchReceive, hasNextPendingReceive, hasPendingBatchReceive, initReceiverQueueSize, isSingleMessageAcked, isValidConsumerEpoch, negativeAcknowledge, nextPendingReceive, notifyPendingBatchReceivedCallBack, notifyPendingBatchReceivedCallBack, onAcknowledge, onAcknowledge, onAcknowledgeCumulative, onAcknowledgeCumulative, onAckTimeoutSend, onNegativeAcksSend, onPartitionsChange, peekMessageKey, receive, receive, receiveAsync, reconsumeLater, reconsumeLater, reconsumeLater, reconsumeLaterAsync, reconsumeLaterAsync, reconsumeLaterAsync, reconsumeLaterCumulative, reconsumeLaterCumulativeAsync, reconsumeLaterCumulativeAsync, reduceCurrentReceiverQueueSize, resetIncomingMessageSize, subscribeFuture, toString, trackUnAckedMsgIfNoListener, triggerBatchReceiveTimeoutTask, tryTriggerListener, unsubscribe, unsubscribe, unsubscribeAsync
-
字段详细资料
-
lastDequeuedMessageId
-
stats
-
paused
protected volatile boolean paused -
chunkedMessagesMap
protected ConcurrentOpenHashMap<String,org.apache.pulsar.client.impl.ConsumerImpl.ChunkedMessageCtx> chunkedMessagesMap -
expireTimeOfIncompleteChunkedMessageMillis
protected long expireTimeOfIncompleteChunkedMessageMillis -
client
-
topic
-
redirectedClusterURI
-
-
构造器详细资料
-
ConsumerImpl
protected ConsumerImpl(PulsarClientImpl client, String topic, ConsumerConfigurationData<T> conf, ExecutorProvider executorProvider, int partitionIndex, boolean hasParentConsumer, boolean parentConsumerHasListener, CompletableFuture<Consumer<T>> subscribeFuture, MessageId startMessageId, long startMessageRollbackDurationInSec, Schema<T> schema, ConsumerInterceptors<T> interceptors, boolean createTopicIfDoesNotExist)
-
-
方法详细资料
-
getConnectionHandler
-
getUnAckedMessageTracker
- 覆盖:
getUnAckedMessageTracker在类中ConsumerBase<T>
-
unsubscribeAsync
- 指定者:
unsubscribeAsync在接口中Consumer<T>- 指定者:
unsubscribeAsync在类中ConsumerBase<T>
-
minReceiverQueueSize
public int minReceiverQueueSize()- 指定者:
minReceiverQueueSize在类中ConsumerBase<T>
-
internalReceive
- 指定者:
internalReceive在类中ConsumerBase<T>- 抛出:
PulsarClientException
-
internalReceiveAsync
- 指定者:
internalReceiveAsync在类中ConsumerBase<T>
-
internalReceive
- 指定者:
internalReceive在类中ConsumerBase<T>- 抛出:
PulsarClientException
-
internalBatchReceive
- 指定者:
internalBatchReceive在类中ConsumerBase<T>- 抛出:
PulsarClientException
-
internalBatchReceiveAsync
- 指定者:
internalBatchReceiveAsync在类中ConsumerBase<T>
-
doAcknowledge
protected CompletableFuture<Void> doAcknowledge(MessageId messageId, CommandAck.AckType ackType, Map<String, Long> properties, TransactionImpl txn) - 指定者:
doAcknowledge在类中ConsumerBase<T>
-
doAcknowledge
protected CompletableFuture<Void> doAcknowledge(List<MessageId> messageIdList, CommandAck.AckType ackType, Map<String, Long> properties, TransactionImpl txn) - 指定者:
doAcknowledge在类中ConsumerBase<T>
-
doReconsumeLater
protected CompletableFuture<Void> doReconsumeLater(Message<?> message, CommandAck.AckType ackType, Map<String, String> customProperties, long delayTime, TimeUnit unit) - 指定者:
doReconsumeLater在类中ConsumerBase<T>
-
negativeAcknowledge
- 指定者:
negativeAcknowledge在接口中Consumer<T>
-
negativeAcknowledge
- 指定者:
negativeAcknowledge在接口中Consumer<T>- 覆盖:
negativeAcknowledge在类中ConsumerBase<T>
-
connectionOpened
-
consumerIsReconnectedToBroker
-
connectionFailed
-
closeAsync
- 指定者:
closeAsync在接口中Consumer<T>- 指定者:
closeAsync在类中ConsumerBase<T>
-
isBatch
-
newSingleMessage
protected <V> MessageImpl<V> newSingleMessage(int index, int numMessages, BrokerEntryMetadata brokerEntryMetadata, MessageMetadata msgMetadata, SingleMessageMetadata singleMessageMetadata, io.netty.buffer.ByteBuf payload, MessageIdImpl messageId, Schema<V> schema, boolean containMetadata, BitSetRecyclable ackBitSet, BitSet ackSetInMessageId, int redeliveryCount, long consumerEpoch) -
newMessage
protected <V> MessageImpl<V> newMessage(MessageIdImpl messageId, BrokerEntryMetadata brokerEntryMetadata, MessageMetadata messageMetadata, io.netty.buffer.ByteBuf payload, Schema<V> schema, int redeliveryCount, long consumerEpoch) -
messageProcessed
Record the event that one message has been processed by the application. Periodically, it sends a Flow command to notify the broker that it can push more messages- 指定者:
messageProcessed在类中ConsumerBase<T>
-
trackMessage
-
trackMessage
-
trackMessage
-
increaseAvailablePermits
-
increaseAvailablePermits
public void increaseAvailablePermits(int delta) -
setCurrentReceiverQueueSize
protected void setCurrentReceiverQueueSize(int newSize) 从类复制的说明:ConsumerBaseUpdate the size of the consumer receive queue. SeeConsumerBuilder.receiverQueueSize(int).- 指定者:
setCurrentReceiverQueueSize在类中ConsumerBase<T>- 参数:
newSize- new size of the receiver queue.
-
pause
public void pause() -
resume
public void resume() -
getLastDisconnectedTimestamp
public long getLastDisconnectedTimestamp()- 指定者:
getLastDisconnectedTimestamp在接口中Consumer<T>
-
isConnected
public boolean isConnected()- 指定者:
isConnected在接口中Consumer<T>
-
isConnected
-
getAvailablePermits
public int getAvailablePermits()- 指定者:
getAvailablePermits在类中ConsumerBase<T>
-
numMessagesInQueue
public int numMessagesInQueue()- 指定者:
numMessagesInQueue在类中ConsumerBase<T>
-
redeliverUnacknowledgedMessages
public void redeliverUnacknowledgedMessages()- 指定者:
redeliverUnacknowledgedMessages在接口中Consumer<T>
-
redeliverUnacknowledgedMessages
从类复制的说明:ConsumerBaseRedelivers the given unacknowledged messages. In Failover mode, the request is ignored if the consumer is not active for the given topic. In Shared mode, the consumers messages to be redelivered are distributed across all the connected consumers. This is a non blocking call and doesn't throw an exception. In case the connection breaks, the messages are redelivered after reconnect.- 指定者:
redeliverUnacknowledgedMessages在类中ConsumerBase<T>
-
updateAutoScaleReceiverQueueHint
protected void updateAutoScaleReceiverQueueHint()- 指定者:
updateAutoScaleReceiverQueueHint在类中ConsumerBase<T>
-
completeOpBatchReceive
- 指定者:
completeOpBatchReceive在类中ConsumerBase<T>
-
seek
- 指定者:
seek在接口中Consumer<T>- 抛出:
PulsarClientException
-
seek
- 指定者:
seek在接口中Consumer<T>- 抛出:
PulsarClientException
-
seek
- 指定者:
seek在接口中Consumer<T>- 抛出:
PulsarClientException
-
seekAsync
-
seekAsync
-
seekAsync
-
hasMessageAvailable
-
hasMessageAvailableAsync
-
getLastMessageIdAsync
已过时。- 指定者:
getLastMessageIdAsync在接口中Consumer<T>- 指定者:
getLastMessageIdAsync在类中ConsumerBase<T>
-
getLastMessageIdsAsync
- 指定者:
getLastMessageIdsAsync在接口中Consumer<T>
-
internalGetLastMessageIdAsync
public CompletableFuture<org.apache.pulsar.client.impl.ConsumerImpl.GetLastMessageIdResponse> internalGetLastMessageIdAsync() -
getStats
-
hasReachedEndOfTopic
public boolean hasReachedEndOfTopic()- 指定者:
hasReachedEndOfTopic在接口中Consumer<T>
-
hashCode
public int hashCode() -
equals
-
getClientCnx
-
getTopicNameWithoutPartition
已过时。 -
removeExpireIncompleteChunkedMessages
protected void removeExpireIncompleteChunkedMessages() -
getPossibleSendToDeadLetterTopicMessages
-
setRedirectedClusterURI
protected void setRedirectedClusterURI(String serviceUrl, String serviceUrlTls) throws URISyntaxException -
changeToReadyState
protected boolean changeToReadyState() -
changeToRegisteringSchemaState
protected boolean changeToRegisteringSchemaState() -
getState
protected org.apache.pulsar.client.impl.HandlerState.State getState() -
changeToConnecting
protected boolean changeToConnecting() -
setState
protected void setState(org.apache.pulsar.client.impl.HandlerState.State s) -
getAndUpdateState
protected org.apache.pulsar.client.impl.HandlerState.State getAndUpdateState(UnaryOperator<org.apache.pulsar.client.impl.HandlerState.State> updater) -
getClient
-