public class Topic extends BaseDestination implements Task
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.CopyOnWriteArrayList<Subscription> |
consumers |
protected Valve |
dispatchValve |
protected static org.slf4j.Logger |
LOG |
blockedProducerWarningInterval, broker, brokerService, cursorMemoryHighWaterMark, deadLetterStrategy, DEFAULT_INACTIVE_TIMEOUT_BEFORE_GC, destination, destinationStatistics, EXPIRE_MESSAGE_PERIOD, expireMessagesPeriod, MAX_AUDIT_DEPTH, MAX_BROWSE_PAGE_SIZE, MAX_PAGE_SIZE, MAX_PRODUCERS_TO_AUDIT, memoryUsage, regionBroker, store, storeUsageHighWaterMark, systemUsage, warnOnProducerFlowControl
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, dispose, fastProducer, getActiveMQDestination, getBlockedProducerWarningInterval, getCursorMemoryHighWaterMark, getDeadLetterStrategy, getDestinationSequenceId, getDestinationStatistics, getExpireMessagesPeriod, getInactiveTimoutBeforeGC, getMaxAuditDepth, getMaxBrowsePageSize, getMaxExpirePageSize, getMaxPageSize, getMaxProducersToAudit, getMemoryUsage, getMessageStore, getMinimumMessageSize, getName, getSlowConsumerStrategy, getStoreUsageHighWaterMark, isActive, isAdvisdoryForFastProducers, isAdvisoryForConsumed, isAdvisoryForDelivery, isAdvisoryForDiscardingMessages, isAdvisoryForSlowConsumers, isAdvisoryWhenFull, isEnableAudit, isFull, isGcIfInactive, isLazyDispatch, isPrioritizedMessages, isProducerFlowControl, isReduceMemoryFootprint, isSendAdvisoryIfNoConsumers, isUseCache, markForGC, messageConsumed, messageDelivered, messageDiscarded, onMessageWithNoConsumers, processDispatchNotification, removeProducer, setAdvisdoryForFastProducers, setAdvisoryForConsumed, setAdvisoryForDelivery, setAdvisoryForDiscardingMessages, setAdvisoryForSlowConsumers, setAdvisoryWhenFull, setBlockedProducerWarningInterval, setCursorMemoryHighWaterMark, setDeadLetterStrategy, setEnableAudit, setExpireMessagesPeriod, setGcIfInactive, setInactiveTimoutBeforeGC, setLazyDispatch, setMaxAuditDepth, setMaxBrowsePageSize, setMaxExpirePageSize, setMaxPageSize, setMaxProducersToAudit, setMinimumMessageSize, setPrioritizedMessages, setProducerFlowControl, setReduceMemoryFootprint, setSendAdvisoryIfNoConsumers, setSlowConsumerStrategy, setStoreUsageHighWaterMark, setUseCache, slowConsumer, waitForSpace, waitForSpace
protected static final org.slf4j.Logger LOG
protected final java.util.concurrent.CopyOnWriteArrayList<Subscription> consumers
protected final Valve dispatchValve
public Topic(BrokerService brokerService, ActiveMQDestination destination, TopicMessageStore store, DestinationStatistics parentStats, TaskRunnerFactory taskFactory) throws java.lang.Exception
java.lang.Exception
public void initialize() throws java.lang.Exception
BaseDestination
initialize
in class BaseDestination
java.lang.Exception
public java.util.List<Subscription> getConsumers()
getConsumers
in interface Destination
public boolean lock(MessageReference node, LockOwner sub)
public void addSubscription(ConnectionContext context, Subscription sub) throws java.lang.Exception
addSubscription
in interface Destination
addSubscription
in class BaseDestination
java.lang.Exception
public void removeSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId) throws java.lang.Exception
removeSubscription
in interface Destination
removeSubscription
in class BaseDestination
java.lang.Exception
public void deleteSubscription(ConnectionContext context, SubscriptionKey key) throws java.lang.Exception
java.lang.Exception
public void activate(ConnectionContext context, DurableTopicSubscription subscription) throws java.lang.Exception
java.lang.Exception
public void deactivate(ConnectionContext context, DurableTopicSubscription sub) throws java.lang.Exception
java.lang.Exception
protected void recoverRetroactiveMessages(ConnectionContext context, Subscription subscription) throws java.lang.Exception
java.lang.Exception
public void send(ProducerBrokerExchange producerExchange, Message message) throws java.lang.Exception
send
in interface Destination
java.lang.Exception
public java.lang.String toString()
toString
in class java.lang.Object
public void acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node) throws java.io.IOException
acknowledge
in interface Destination
java.io.IOException
public void gc()
gc
in interface Destination
public Message loadMessage(MessageId messageId) throws java.io.IOException
java.io.IOException
public void start() throws java.lang.Exception
public void stop() throws java.lang.Exception
public Message[] browse()
browse
in interface Destination
public DispatchPolicy getDispatchPolicy()
public void setDispatchPolicy(DispatchPolicy dispatchPolicy)
public SubscriptionRecoveryPolicy getSubscriptionRecoveryPolicy()
public void setSubscriptionRecoveryPolicy(SubscriptionRecoveryPolicy subscriptionRecoveryPolicy)
public final void wakeup()
Destination
wakeup
in interface Destination
protected void dispatch(ConnectionContext context, Message message) throws java.lang.Exception
java.lang.Exception
public void messageExpired(ConnectionContext context, Subscription subs, MessageReference reference)
Destination
messageExpired
in interface Destination
protected org.slf4j.Logger getLog()
getLog
in class BaseDestination
Copyright © 2005-2012. All Rights Reserved.