public class Topic extends BaseDestination implements Task
Modifier and Type | Field and Description |
---|---|
protected CopyOnWriteArrayList<Subscription> |
consumers |
protected static org.slf4j.Logger |
LOG |
blockedProducerWarningInterval, broker, brokerService, cursorMemoryHighWaterMark, deadLetterStrategy, DEFAULT_INACTIVE_TIMEOUT_BEFORE_GC, destination, destinationStatistics, EXPIRE_MESSAGE_PERIOD, expireMessagesPeriod, lastBlockedProducerWarnTime, MAX_AUDIT_DEPTH, MAX_BROWSE_PAGE_SIZE, MAX_PAGE_SIZE, MAX_PRODUCERS_TO_AUDIT, memoryUsage, regionBroker, scheduler, started, store, storeUsageHighWaterMark, systemUsage
DEFAULT_BLOCKED_PRODUCER_WARNING_INTERVAL, DEFAULT_DEAD_LETTER_STRATEGY
Constructor and Description |
---|
Topic(BrokerService brokerService,
ActiveMQDestination destination,
TopicMessageStore store,
DestinationStatistics parentStats,
TaskRunnerFactory taskFactory) |
addProducer, canGC, convertToNonRangedAck, createConnectionContext, dispose, duplicateFromStore, fastProducer, getActiveMQDestination, getBlockedProducerWarningInterval, getCursorMemoryHighWaterMark, getDeadLetterStrategy, getDestinationSequenceId, getDestinationStatistics, getExpireMessagesPeriod, getInactiveTimeoutBeforeGC, getMaxAuditDepth, getMaxBrowsePageSize, getMaxExpirePageSize, getMaxPageSize, getMaxProducersToAudit, getMemoryUsage, getMessageStore, getMinimumMessageSize, getName, getOptimizeMessageStoreInFlightLimit, getSlowConsumerStrategy, getStoreUsageHighWaterMark, getSystemUsage, getTempUsage, hasRegularConsumers, isActive, isAdvisoryForConsumed, isAdvisoryForDelivery, isAdvisoryForDiscardingMessages, isAdvisoryForFastProducers, isAdvisoryForSlowConsumers, isAdvisoryWhenFull, isAlwaysRetroactive, isDisposed, isDLQ, isDoOptimzeMessageStorage, isEnableAudit, isFlowControlLogRequired, isFull, isGcIfInactive, isGcWithNetworkConsumers, isIncludeBodyForAdvisory, isLazyDispatch, isPersistJMSRedelivered, isPrioritizedMessages, isProducerFlowControl, isReduceMemoryFootprint, isSendAdvisoryIfNoConsumers, isUseCache, markForGC, messageConsumed, messageDelivered, messageDiscarded, onMessageWithNoConsumers, processDispatchNotification, removeProducer, setAdvisoryForConsumed, setAdvisoryForDelivery, setAdvisoryForDiscardingMessages, setAdvisoryForFastProducers, setAdvisoryForSlowConsumers, setAdvisoryWhenFull, setAlwaysRetroactive, setBlockedProducerWarningInterval, setCursorMemoryHighWaterMark, setDeadLetterStrategy, setDoOptimzeMessageStorage, setEnableAudit, setExpireMessagesPeriod, setGcIfInactive, setGcWithNetworkConsumers, setInactiveTimeoutBeforeGC, setIncludeBodyForAdvisory, setLazyDispatch, setMaxAuditDepth, setMaxBrowsePageSize, setMaxExpirePageSize, setMaxPageSize, setMaxProducersToAudit, setMemoryUsage, setMinimumMessageSize, setOptimizeMessageStoreInFlightLimit, setPersistJMSRedelivered, setPrioritizedMessages, setProducerFlowControl, setReduceMemoryFootprint, setSendAdvisoryIfNoConsumers, setSlowConsumerStrategy, setStoreUsageHighWaterMark, setUseCache, slowConsumer, waitForSpace, waitForSpace
protected static final org.slf4j.Logger LOG
protected final CopyOnWriteArrayList<Subscription> consumers
public Topic(BrokerService brokerService, ActiveMQDestination destination, TopicMessageStore store, DestinationStatistics parentStats, TaskRunnerFactory taskFactory) throws Exception
Exception
public void initialize() throws Exception
BaseDestination
initialize
in class BaseDestination
Exception
public List<Subscription> getConsumers()
getConsumers
in interface Destination
getConsumers
in class BaseDestination
public boolean lock(MessageReference node, LockOwner sub)
public void addSubscription(ConnectionContext context, Subscription sub) throws Exception
addSubscription
in interface Destination
addSubscription
in class BaseDestination
Exception
public void removeSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId) throws Exception
removeSubscription
in interface Destination
removeSubscription
in class BaseDestination
Exception
public void deleteSubscription(ConnectionContext context, SubscriptionKey key) throws Exception
Exception
public void activate(ConnectionContext context, DurableTopicSubscription subscription) throws Exception
Exception
public void deactivate(ConnectionContext context, DurableTopicSubscription sub, List<MessageReference> dispatched) throws Exception
Exception
public void recoverRetroactiveMessages(ConnectionContext context, Subscription subscription) throws Exception
Exception
public void send(ProducerBrokerExchange producerExchange, Message message) throws Exception
send
in interface Destination
Exception
public void acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node) throws IOException
acknowledge
in interface Destination
IOException
public void gc()
gc
in interface Destination
public Message loadMessage(MessageId messageId) throws IOException
IOException
public Message[] browse()
browse
in interface Destination
public DispatchPolicy getDispatchPolicy()
public void setDispatchPolicy(DispatchPolicy dispatchPolicy)
public SubscriptionRecoveryPolicy getSubscriptionRecoveryPolicy()
public void setSubscriptionRecoveryPolicy(SubscriptionRecoveryPolicy recoveryPolicy)
public final void wakeup()
Destination
wakeup
in interface Destination
protected void dispatch(ConnectionContext context, Message message) throws Exception
Exception
public void messageExpired(ConnectionContext context, Subscription subs, MessageReference reference)
Destination
messageExpired
in interface Destination
protected org.slf4j.Logger getLog()
getLog
in class BaseDestination
protected boolean isOptimizeStorage()
public void clearPendingMessages()
clearPendingMessages
in interface Destination
public Map<SubscriptionKey,DurableTopicSubscription> getDurableTopicSubs()
Copyright © 2005–2019 The Apache Software Foundation. All rights reserved.