public class Topic extends BaseDestination implements Task
| Modifier and Type | Field and Description |
|---|---|
protected CopyOnWriteArrayList<Subscription> |
consumers |
protected static 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, getInactiveTimeoutBeforeGC, 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, 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, setLazyDispatch, setMaxAuditDepth, setMaxBrowsePageSize, setMaxExpirePageSize, setMaxPageSize, setMaxProducersToAudit, setMemoryUsage, setMinimumMessageSize, setOptimizeMessageStoreInFlightLimit, setPersistJMSRedelivered, setPrioritizedMessages, setProducerFlowControl, setReduceMemoryFootprint, setSendAdvisoryIfNoConsumers, setSlowConsumerStrategy, setStoreUsageHighWaterMark, setUseCache, slowConsumer, waitForSpace, waitForSpaceprotected 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
Exceptionpublic 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 Message[] browse()
browse in interface Destinationpublic DispatchPolicy getDispatchPolicy()
public void setDispatchPolicy(DispatchPolicy dispatchPolicy)
public SubscriptionRecoveryPolicy getSubscriptionRecoveryPolicy()
public void setSubscriptionRecoveryPolicy(SubscriptionRecoveryPolicy recoveryPolicy)
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 Logger getLog()
getLog in class BaseDestinationprotected boolean isOptimizeStorage()
public void clearPendingMessages()
clearPendingMessages in interface Destinationpublic Map<SubscriptionKey,DurableTopicSubscription> getDurableTopicSubs()
Copyright © 2005–2015 FuseSource, Corp.. All rights reserved.