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, MAX_AUDIT_DEPTH, MAX_BROWSE_PAGE_SIZE, MAX_PAGE_SIZE, MAX_PRODUCERS_TO_AUDIT, memoryUsage, regionBroker, scheduler, store, storeUsageHighWaterMark, systemUsage, warnOnProducerFlowControlDEFAULT_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, getInactiveTimoutBeforeGC, getMaxAuditDepth, getMaxBrowsePageSize, getMaxExpirePageSize, getMaxPageSize, getMaxProducersToAudit, getMemoryUsage, getMessageStore, getMinimumMessageSize, getName, getOptimizeMessageStoreInFlightLimit, getSlowConsumerStrategy, getStoreUsageHighWaterMark, hasRegularConsumers, isActive, isAdvisoryForConsumed, isAdvisoryForDelivery, isAdvisoryForDiscardingMessages, isAdvisoryForFastProducers, isAdvisoryForSlowConsumers, isAdvisoryWhenFull, isAlwaysRetroactive, isDisposed, isDLQ, isDoOptimzeMessageStorage, isEnableAudit, isFull, isGcIfInactive, isGcWithNetworkConsumers, isLazyDispatch, 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, setInactiveTimoutBeforeGC, setLazyDispatch, setMaxAuditDepth, setMaxBrowsePageSize, setMaxExpirePageSize, setMaxPageSize, setMaxProducersToAudit, setMemoryUsage, setMinimumMessageSize, setOptimizeMessageStoreInFlightLimit, setPrioritizedMessages, setProducerFlowControl, setReduceMemoryFootprint, setSendAdvisoryIfNoConsumers, setSlowConsumerStrategy, setStoreUsageHighWaterMark, setUseCache, slowConsumer, waitForSpace, waitForSpaceprotected 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
Exceptionpublic void initialize()
throws Exception
BaseDestinationinitialize in class BaseDestinationExceptionpublic List<Subscription> getConsumers()
getConsumers in interface DestinationgetConsumers in class BaseDestinationpublic boolean lock(MessageReference node, LockOwner sub)
public void addSubscription(ConnectionContext context, Subscription sub) throws Exception
addSubscription in interface DestinationaddSubscription in class BaseDestinationExceptionpublic void removeSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId) throws Exception
removeSubscription in interface DestinationremoveSubscription in class BaseDestinationExceptionpublic void deleteSubscription(ConnectionContext context, SubscriptionKey key) throws Exception
Exceptionpublic void activate(ConnectionContext context, DurableTopicSubscription subscription) throws Exception
Exceptionpublic void deactivate(ConnectionContext context, DurableTopicSubscription sub, List<MessageReference> dispatched) throws Exception
Exceptionprotected void recoverRetroactiveMessages(ConnectionContext context, Subscription subscription) throws Exception
Exceptionpublic void send(ProducerBrokerExchange producerExchange, Message message) throws Exception
send in interface DestinationExceptionpublic void acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node) throws IOException
acknowledge in interface DestinationIOExceptionpublic void gc()
gc in interface Destinationpublic Message loadMessage(MessageId messageId) throws IOException
IOExceptionpublic void start()
throws Exception
public Message[] browse()
browse in interface Destinationpublic DispatchPolicy getDispatchPolicy()
public void setDispatchPolicy(DispatchPolicy dispatchPolicy)
public SubscriptionRecoveryPolicy getSubscriptionRecoveryPolicy()
public void setSubscriptionRecoveryPolicy(SubscriptionRecoveryPolicy subscriptionRecoveryPolicy)
public final void wakeup()
Destinationwakeup in interface Destinationprotected void dispatch(ConnectionContext context, Message message) throws Exception
Exceptionpublic void messageExpired(ConnectionContext context, Subscription subs, MessageReference reference)
DestinationmessageExpired in interface Destinationprotected org.slf4j.Logger getLog()
getLog in class BaseDestinationprotected boolean isOptimizeStorage()
public void clearPendingMessages()
clearPendingMessages in interface Destinationpublic Map<SubscriptionKey,DurableTopicSubscription> getDurableTopicSubs()
Copyright © 2005-2014 The Apache Software Foundation. All Rights Reserved.