Class BaseDestination
- java.lang.Object
-
- org.apache.activemq.broker.region.BaseDestination
-
- All Implemented Interfaces:
Destination,Message.MessageDestination,Service,Task
public abstract class BaseDestination extends Object implements Destination
-
-
Field Summary
Fields Modifier and Type Field Description protected longblockedProducerWarningIntervalprotected Brokerbrokerprotected BrokerServicebrokerServiceprotected intcursorMemoryHighWaterMarkprotected DeadLetterStrategydeadLetterStrategystatic longDEFAULT_INACTIVE_TIMEOUT_BEFORE_GCprotected ActiveMQDestinationdestinationprotected DestinationStatisticsdestinationStatisticsstatic StringDUPLICATE_FROM_STORE_MSG_PREFIXstatic longEXPIRE_MESSAGE_PERIODprotected longexpireMessagesPeriodprotected longlastBlockedProducerWarnTimestatic intMAX_AUDIT_DEPTHstatic intMAX_BROWSE_PAGE_SIZEstatic intMAX_PAGE_SIZEThe maximum number of messages to page in to the destination from persistent storagestatic intMAX_PRODUCERS_TO_AUDITprotected MemoryUsagememoryUsageprotected BrokerregionBrokerprotected Schedulerschedulerprotected AtomicBooleanstartedprotected MessageStorestoreprotected intstoreUsageHighWaterMarkprotected SystemUsagesystemUsage-
Fields inherited from interface org.apache.activemq.broker.region.Destination
DEFAULT_BLOCKED_PRODUCER_WARNING_INTERVAL, DEFAULT_DEAD_LETTER_STRATEGY
-
-
Constructor Summary
Constructors Constructor Description BaseDestination(BrokerService brokerService, MessageStore store, ActiveMQDestination destination, DestinationStatistics parentStats)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddProducer(ConnectionContext context, ProducerInfo info)voidaddSubscription(ConnectionContext context, Subscription sub)booleancanGC()protected MessageAckconvertToNonRangedAck(MessageAck ack, MessageReference node)ConnectionContextcreateConnectionContext()voiddispose(ConnectionContext context)voidduplicateFromStore(Message message, Subscription subscription)voidfastProducer(ConnectionContext context, ProducerInfo producerInfo)Called to notify a producer is too fastActiveMQDestinationgetActiveMQDestination()longgetBlockedProducerWarningInterval()abstract List<Subscription>getConsumers()intgetCursorMemoryHighWaterMark()DeadLetterStrategygetDeadLetterStrategy()protected longgetDestinationSequenceId()DestinationStatisticsgetDestinationStatistics()longgetExpireMessagesPeriod()longgetInactiveTimeoutBeforeGC()protected abstract org.slf4j.LoggergetLog()intgetMaxAuditDepth()intgetMaxBrowsePageSize()intgetMaxExpirePageSize()intgetMaxPageSize()intgetMaxProducersToAudit()MemoryUsagegetMemoryUsage()MessageStoregetMessageStore()intgetMinimumMessageSize()StringgetName()intgetOptimizeMessageStoreInFlightLimit()SlowConsumerStrategygetSlowConsumerStrategy()intgetStoreUsageHighWaterMark()SystemUsagegetSystemUsage()TempUsagegetTempUsage()protected booleanhasRegularConsumers(List<Subscription> consumers)voidinitialize()initialize the destinationbooleanisActive()booleanisAdvisoryForConsumed()booleanisAdvisoryForDelivery()booleanisAdvisoryForDiscardingMessages()booleanisAdvisoryForFastProducers()booleanisAdvisoryForSlowConsumers()booleanisAdvisoryWhenFull()booleanisAlwaysRetroactive()booleanisDisposed()protected booleanisDLQ()booleanisDoOptimzeMessageStorage()booleanisEnableAudit()protected booleanisFlowControlLogRequired()voidisFull(ConnectionContext context, Usage<?> usage)Called when a Usage reaches a limitbooleanisGcIfInactive()booleanisGcWithNetworkConsumers()booleanisIncludeBodyForAdvisory()booleanisLazyDispatch()booleanisPersistJMSRedelivered()booleanisPrioritizedMessages()booleanisProducerFlowControl()booleanisReduceMemoryFootprint()booleanisSendAdvisoryIfNoConsumers()booleanisSendDuplicateFromStoreToDLQ()booleanisUseCache()voidmarkForGC(long timeStamp)voidmessageConsumed(ConnectionContext context, MessageReference messageReference)called when message is consumedvoidmessageDelivered(ConnectionContext context, MessageReference messageReference)Called when message is delivered to the brokervoidmessageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)Called when a message is discarded - e.g.protected voidonMessageWithNoConsumers(ConnectionContext context, Message msg)Provides a hook to allow messages with no consumer to be processed in some way - such as to send to a dead letter queue or something..voidprocessDispatchNotification(MessageDispatchNotification messageDispatchNotification)called on Queues in slave mode to allow dispatch to follow subscription choice of mastervoidremoveProducer(ConnectionContext context, ProducerInfo info)voidremoveSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId)voidsetAdvisoryForConsumed(boolean advisoryForConsumed)voidsetAdvisoryForDelivery(boolean advisoryForDelivery)voidsetAdvisoryForDiscardingMessages(boolean advisoryForDiscardingMessages)voidsetAdvisoryForFastProducers(boolean advisoryForFastProducers)voidsetAdvisoryForSlowConsumers(boolean advisoryForSlowConsumers)voidsetAdvisoryWhenFull(boolean advisoryWhenFull)voidsetAlwaysRetroactive(boolean alwaysRetroactive)voidsetBlockedProducerWarningInterval(long blockedProducerWarningInterval)Set's the interval at which warnings about producers being blocked by resource usage will be triggered.voidsetCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark)voidsetDeadLetterStrategy(DeadLetterStrategy deadLetterStrategy)set the dead letter strategyvoidsetDoOptimzeMessageStorage(boolean doOptimzeMessageStorage)voidsetEnableAudit(boolean enableAudit)voidsetExpireMessagesPeriod(long expireMessagesPeriod)voidsetGcIfInactive(boolean gcIfInactive)voidsetGcWithNetworkConsumers(boolean gcWithNetworkConsumers)Indicate if it is ok to gc destinations that have only network consumersvoidsetInactiveTimeoutBeforeGC(long inactiveTimeoutBeforeGC)voidsetIncludeBodyForAdvisory(boolean includeBodyForAdvisory)voidsetLazyDispatch(boolean lazyDispatch)set the lazy dispatch - default is falsevoidsetMaxAuditDepth(int maxAuditDepth)voidsetMaxBrowsePageSize(int maxPageSize)voidsetMaxExpirePageSize(int maxPageSize)voidsetMaxPageSize(int maxPageSize)voidsetMaxProducersToAudit(int maxProducersToAudit)voidsetMemoryUsage(MemoryUsage memoryUsage)voidsetMinimumMessageSize(int minimumMessageSize)voidsetOptimizeMessageStoreInFlightLimit(int optimizeMessageStoreInFlightLimit)voidsetPersistJMSRedelivered(boolean persistJMSRedelivered)voidsetPrioritizedMessages(boolean prioritizedMessages)voidsetProducerFlowControl(boolean producerFlowControl)voidsetReduceMemoryFootprint(boolean reduceMemoryFootprint)voidsetSendAdvisoryIfNoConsumers(boolean sendAdvisoryIfNoConsumers)voidsetSendDuplicateFromStoreToDLQ(boolean sendDuplicateFromStoreToDLQ)voidsetSlowConsumerStrategy(SlowConsumerStrategy slowConsumerStrategy)voidsetStoreUsageHighWaterMark(int storeUsageHighWaterMark)voidsetUseCache(boolean useCache)voidslowConsumer(ConnectionContext context, Subscription subs)Called when there is a slow consumerprotected voidwaitForSpace(ConnectionContext context, ProducerBrokerExchange producerBrokerExchange, Usage<?> usage, int highWaterMark, String warning)protected voidwaitForSpace(ConnectionContext context, ProducerBrokerExchange producerBrokerExchange, Usage<?> usage, String warning)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.broker.region.Destination
acknowledge, browse, clearPendingMessages, gc, messageExpired, send, wakeup
-
-
-
-
Field Detail
-
MAX_PAGE_SIZE
public static final int MAX_PAGE_SIZE
The maximum number of messages to page in to the destination from persistent storage- See Also:
- Constant Field Values
-
MAX_BROWSE_PAGE_SIZE
public static final int MAX_BROWSE_PAGE_SIZE
- See Also:
- Constant Field Values
-
EXPIRE_MESSAGE_PERIOD
public static final long EXPIRE_MESSAGE_PERIOD
- See Also:
- Constant Field Values
-
DEFAULT_INACTIVE_TIMEOUT_BEFORE_GC
public static final long DEFAULT_INACTIVE_TIMEOUT_BEFORE_GC
- See Also:
- Constant Field Values
-
MAX_PRODUCERS_TO_AUDIT
public static final int MAX_PRODUCERS_TO_AUDIT
- See Also:
- Constant Field Values
-
MAX_AUDIT_DEPTH
public static final int MAX_AUDIT_DEPTH
- See Also:
- Constant Field Values
-
DUPLICATE_FROM_STORE_MSG_PREFIX
public static final String DUPLICATE_FROM_STORE_MSG_PREFIX
- See Also:
- Constant Field Values
-
started
protected final AtomicBoolean started
-
destination
protected final ActiveMQDestination destination
-
broker
protected final Broker broker
-
store
protected final MessageStore store
-
systemUsage
protected SystemUsage systemUsage
-
memoryUsage
protected MemoryUsage memoryUsage
-
lastBlockedProducerWarnTime
protected long lastBlockedProducerWarnTime
-
blockedProducerWarningInterval
protected long blockedProducerWarningInterval
-
destinationStatistics
protected final DestinationStatistics destinationStatistics
-
brokerService
protected final BrokerService brokerService
-
regionBroker
protected final Broker regionBroker
-
deadLetterStrategy
protected DeadLetterStrategy deadLetterStrategy
-
expireMessagesPeriod
protected long expireMessagesPeriod
-
cursorMemoryHighWaterMark
protected int cursorMemoryHighWaterMark
-
storeUsageHighWaterMark
protected int storeUsageHighWaterMark
-
scheduler
protected final Scheduler scheduler
-
-
Constructor Detail
-
BaseDestination
public BaseDestination(BrokerService brokerService, MessageStore store, ActiveMQDestination destination, DestinationStatistics parentStats) throws Exception
- Parameters:
brokerService-store-destination-parentStats-- Throws:
Exception
-
-
Method Detail
-
isProducerFlowControl
public boolean isProducerFlowControl()
- Specified by:
isProducerFlowControlin interfaceDestination- Returns:
- the producerFlowControl
-
setProducerFlowControl
public void setProducerFlowControl(boolean producerFlowControl)
- Specified by:
setProducerFlowControlin interfaceDestination- Parameters:
producerFlowControl- the producerFlowControl to set
-
isAlwaysRetroactive
public boolean isAlwaysRetroactive()
- Specified by:
isAlwaysRetroactivein interfaceDestination
-
setAlwaysRetroactive
public void setAlwaysRetroactive(boolean alwaysRetroactive)
- Specified by:
setAlwaysRetroactivein interfaceDestination
-
setBlockedProducerWarningInterval
public void setBlockedProducerWarningInterval(long blockedProducerWarningInterval)
Set's the interval at which warnings about producers being blocked by resource usage will be triggered. Values of 0 or less will disable warnings- Specified by:
setBlockedProducerWarningIntervalin interfaceDestination- Parameters:
blockedProducerWarningInterval- the interval at which warning about blocked producers will be triggered.
-
getBlockedProducerWarningInterval
public long getBlockedProducerWarningInterval()
- Specified by:
getBlockedProducerWarningIntervalin interfaceDestination- Returns:
- the interval at which warning about blocked producers will be triggered.
-
getMaxProducersToAudit
public int getMaxProducersToAudit()
- Specified by:
getMaxProducersToAuditin interfaceDestination- Returns:
- the maxProducersToAudit
-
setMaxProducersToAudit
public void setMaxProducersToAudit(int maxProducersToAudit)
- Specified by:
setMaxProducersToAuditin interfaceDestination- Parameters:
maxProducersToAudit- the maxProducersToAudit to set
-
getMaxAuditDepth
public int getMaxAuditDepth()
- Specified by:
getMaxAuditDepthin interfaceDestination- Returns:
- the maxAuditDepth
-
setMaxAuditDepth
public void setMaxAuditDepth(int maxAuditDepth)
- Specified by:
setMaxAuditDepthin interfaceDestination- Parameters:
maxAuditDepth- the maxAuditDepth to set
-
isEnableAudit
public boolean isEnableAudit()
- Specified by:
isEnableAuditin interfaceDestination- Returns:
- the enableAudit
-
setEnableAudit
public void setEnableAudit(boolean enableAudit)
- Specified by:
setEnableAuditin interfaceDestination- Parameters:
enableAudit- the enableAudit to set
-
addProducer
public void addProducer(ConnectionContext context, ProducerInfo info) throws Exception
- Specified by:
addProducerin interfaceDestination- Throws:
Exception
-
removeProducer
public void removeProducer(ConnectionContext context, ProducerInfo info) throws Exception
- Specified by:
removeProducerin interfaceDestination- Throws:
Exception
-
addSubscription
public void addSubscription(ConnectionContext context, Subscription sub) throws Exception
- Specified by:
addSubscriptionin interfaceDestination- Throws:
Exception
-
removeSubscription
public void removeSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId) throws Exception
- Specified by:
removeSubscriptionin interfaceDestination- Throws:
Exception
-
getMemoryUsage
public final MemoryUsage getMemoryUsage()
- Specified by:
getMemoryUsagein interfaceDestination- Specified by:
getMemoryUsagein interfaceMessage.MessageDestination
-
setMemoryUsage
public void setMemoryUsage(MemoryUsage memoryUsage)
- Specified by:
setMemoryUsagein interfaceDestination
-
getTempUsage
public TempUsage getTempUsage()
- Specified by:
getTempUsagein interfaceDestination
-
getDestinationStatistics
public DestinationStatistics getDestinationStatistics()
- Specified by:
getDestinationStatisticsin interfaceDestination
-
getActiveMQDestination
public ActiveMQDestination getActiveMQDestination()
- Specified by:
getActiveMQDestinationin interfaceDestination
-
getName
public final String getName()
- Specified by:
getNamein interfaceDestination
-
getMessageStore
public final MessageStore getMessageStore()
- Specified by:
getMessageStorein interfaceDestination
-
isActive
public boolean isActive()
- Specified by:
isActivein interfaceDestination
-
getMaxPageSize
public int getMaxPageSize()
- Specified by:
getMaxPageSizein interfaceDestination
-
setMaxPageSize
public void setMaxPageSize(int maxPageSize)
- Specified by:
setMaxPageSizein interfaceDestination
-
getMaxBrowsePageSize
public int getMaxBrowsePageSize()
- Specified by:
getMaxBrowsePageSizein interfaceDestination
-
setMaxBrowsePageSize
public void setMaxBrowsePageSize(int maxPageSize)
- Specified by:
setMaxBrowsePageSizein interfaceDestination
-
getMaxExpirePageSize
public int getMaxExpirePageSize()
-
setMaxExpirePageSize
public void setMaxExpirePageSize(int maxPageSize)
-
setExpireMessagesPeriod
public void setExpireMessagesPeriod(long expireMessagesPeriod)
-
getExpireMessagesPeriod
public long getExpireMessagesPeriod()
-
isUseCache
public boolean isUseCache()
- Specified by:
isUseCachein interfaceDestination
-
setUseCache
public void setUseCache(boolean useCache)
- Specified by:
setUseCachein interfaceDestination
-
getMinimumMessageSize
public int getMinimumMessageSize()
- Specified by:
getMinimumMessageSizein interfaceDestination- Specified by:
getMinimumMessageSizein interfaceMessage.MessageDestination
-
setMinimumMessageSize
public void setMinimumMessageSize(int minimumMessageSize)
- Specified by:
setMinimumMessageSizein interfaceDestination
-
isLazyDispatch
public boolean isLazyDispatch()
- Specified by:
isLazyDispatchin interfaceDestination- Returns:
- true if lazyDispatch is enabled
-
setLazyDispatch
public void setLazyDispatch(boolean lazyDispatch)
Description copied from interface:Destinationset the lazy dispatch - default is false- Specified by:
setLazyDispatchin interfaceDestination
-
getDestinationSequenceId
protected long getDestinationSequenceId()
-
isAdvisoryForSlowConsumers
public boolean isAdvisoryForSlowConsumers()
- Returns:
- the advisoryForSlowConsumers
-
setAdvisoryForSlowConsumers
public void setAdvisoryForSlowConsumers(boolean advisoryForSlowConsumers)
- Parameters:
advisoryForSlowConsumers- the advisoryForSlowConsumers to set
-
isAdvisoryForDiscardingMessages
public boolean isAdvisoryForDiscardingMessages()
- Returns:
- the advisoryForDiscardingMessages
-
setAdvisoryForDiscardingMessages
public void setAdvisoryForDiscardingMessages(boolean advisoryForDiscardingMessages)
- Parameters:
advisoryForDiscardingMessages- the advisoryForDiscardingMessages to set
-
isAdvisoryWhenFull
public boolean isAdvisoryWhenFull()
- Returns:
- the advisoryWhenFull
-
setAdvisoryWhenFull
public void setAdvisoryWhenFull(boolean advisoryWhenFull)
- Parameters:
advisoryWhenFull- the advisoryWhenFull to set
-
isAdvisoryForDelivery
public boolean isAdvisoryForDelivery()
- Returns:
- the advisoryForDelivery
-
setAdvisoryForDelivery
public void setAdvisoryForDelivery(boolean advisoryForDelivery)
- Parameters:
advisoryForDelivery- the advisoryForDelivery to set
-
isAdvisoryForConsumed
public boolean isAdvisoryForConsumed()
- Returns:
- the advisoryForConsumed
-
setAdvisoryForConsumed
public void setAdvisoryForConsumed(boolean advisoryForConsumed)
- Parameters:
advisoryForConsumed- the advisoryForConsumed to set
-
isAdvisoryForFastProducers
public boolean isAdvisoryForFastProducers()
- Returns:
- the advisdoryForFastProducers
-
setAdvisoryForFastProducers
public void setAdvisoryForFastProducers(boolean advisoryForFastProducers)
- Parameters:
advisoryForFastProducers- the advisdoryForFastProducers to set
-
isSendAdvisoryIfNoConsumers
public boolean isSendAdvisoryIfNoConsumers()
-
setSendAdvisoryIfNoConsumers
public void setSendAdvisoryIfNoConsumers(boolean sendAdvisoryIfNoConsumers)
-
isSendDuplicateFromStoreToDLQ
public boolean isSendDuplicateFromStoreToDLQ()
- Specified by:
isSendDuplicateFromStoreToDLQin interfaceDestination
-
setSendDuplicateFromStoreToDLQ
public void setSendDuplicateFromStoreToDLQ(boolean sendDuplicateFromStoreToDLQ)
- Specified by:
setSendDuplicateFromStoreToDLQin interfaceDestination
-
isIncludeBodyForAdvisory
public boolean isIncludeBodyForAdvisory()
-
setIncludeBodyForAdvisory
public void setIncludeBodyForAdvisory(boolean includeBodyForAdvisory)
-
getDeadLetterStrategy
public DeadLetterStrategy getDeadLetterStrategy()
- Specified by:
getDeadLetterStrategyin interfaceDestination- Returns:
- the dead letter strategy
-
setDeadLetterStrategy
public void setDeadLetterStrategy(DeadLetterStrategy deadLetterStrategy)
set the dead letter strategy- Parameters:
deadLetterStrategy-
-
getCursorMemoryHighWaterMark
public int getCursorMemoryHighWaterMark()
- Specified by:
getCursorMemoryHighWaterMarkin interfaceDestination
-
setCursorMemoryHighWaterMark
public void setCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark)
- Specified by:
setCursorMemoryHighWaterMarkin interfaceDestination
-
messageConsumed
public void messageConsumed(ConnectionContext context, MessageReference messageReference)
called when message is consumed- Specified by:
messageConsumedin interfaceDestination- Parameters:
context-messageReference-
-
messageDelivered
public void messageDelivered(ConnectionContext context, MessageReference messageReference)
Called when message is delivered to the broker- Specified by:
messageDeliveredin interfaceDestination- Parameters:
context-messageReference-
-
messageDiscarded
public void messageDiscarded(ConnectionContext context, Subscription sub, MessageReference messageReference)
Called when a message is discarded - e.g. running low on memory This will happen only if the policy is enabled - e.g. non durable topics- Specified by:
messageDiscardedin interfaceDestination- Parameters:
context-messageReference-
-
slowConsumer
public void slowConsumer(ConnectionContext context, Subscription subs)
Called when there is a slow consumer- Specified by:
slowConsumerin interfaceDestination- Parameters:
context-subs-
-
fastProducer
public void fastProducer(ConnectionContext context, ProducerInfo producerInfo)
Called to notify a producer is too fast- Specified by:
fastProducerin interfaceDestination- Parameters:
context-producerInfo-
-
isFull
public void isFull(ConnectionContext context, Usage<?> usage)
Called when a Usage reaches a limit- Specified by:
isFullin interfaceDestination- Parameters:
context-usage-
-
dispose
public void dispose(ConnectionContext context) throws IOException
- Specified by:
disposein interfaceDestination- Throws:
IOException
-
isDisposed
public boolean isDisposed()
- Specified by:
isDisposedin interfaceDestination
-
onMessageWithNoConsumers
protected void onMessageWithNoConsumers(ConnectionContext context, Message msg) throws Exception
Provides a hook to allow messages with no consumer to be processed in some way - such as to send to a dead letter queue or something..- Throws:
Exception
-
processDispatchNotification
public void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception
Description copied from interface:Destinationcalled on Queues in slave mode to allow dispatch to follow subscription choice of master- Specified by:
processDispatchNotificationin interfaceDestination- Throws:
Exception
-
getStoreUsageHighWaterMark
public final int getStoreUsageHighWaterMark()
-
setStoreUsageHighWaterMark
public void setStoreUsageHighWaterMark(int storeUsageHighWaterMark)
-
waitForSpace
protected final void waitForSpace(ConnectionContext context, ProducerBrokerExchange producerBrokerExchange, Usage<?> usage, String warning) throws IOException, InterruptedException, ResourceAllocationException
-
waitForSpace
protected final void waitForSpace(ConnectionContext context, ProducerBrokerExchange producerBrokerExchange, Usage<?> usage, int highWaterMark, String warning) throws IOException, InterruptedException, ResourceAllocationException
-
isFlowControlLogRequired
protected boolean isFlowControlLogRequired()
-
getLog
protected abstract org.slf4j.Logger getLog()
-
setSlowConsumerStrategy
public void setSlowConsumerStrategy(SlowConsumerStrategy slowConsumerStrategy)
-
getSlowConsumerStrategy
public SlowConsumerStrategy getSlowConsumerStrategy()
- Specified by:
getSlowConsumerStrategyin interfaceDestination
-
isPrioritizedMessages
public boolean isPrioritizedMessages()
- Specified by:
isPrioritizedMessagesin interfaceDestination
-
setPrioritizedMessages
public void setPrioritizedMessages(boolean prioritizedMessages)
-
getInactiveTimeoutBeforeGC
public long getInactiveTimeoutBeforeGC()
- Specified by:
getInactiveTimeoutBeforeGCin interfaceDestination- Returns:
- the inactiveTimeoutBeforeGC
-
setInactiveTimeoutBeforeGC
public void setInactiveTimeoutBeforeGC(long inactiveTimeoutBeforeGC)
- Parameters:
inactiveTimeoutBeforeGC- the inactiveTimeoutBeforeGC to set
-
isGcIfInactive
public boolean isGcIfInactive()
- Returns:
- the gcIfInactive
-
setGcIfInactive
public void setGcIfInactive(boolean gcIfInactive)
- Parameters:
gcIfInactive- the gcIfInactive to set
-
setGcWithNetworkConsumers
public void setGcWithNetworkConsumers(boolean gcWithNetworkConsumers)
Indicate if it is ok to gc destinations that have only network consumers- Parameters:
gcWithNetworkConsumers-
-
isGcWithNetworkConsumers
public boolean isGcWithNetworkConsumers()
-
markForGC
public void markForGC(long timeStamp)
- Specified by:
markForGCin interfaceDestination
-
canGC
public boolean canGC()
- Specified by:
canGCin interfaceDestination
-
setReduceMemoryFootprint
public void setReduceMemoryFootprint(boolean reduceMemoryFootprint)
-
isReduceMemoryFootprint
public boolean isReduceMemoryFootprint()
-
isDoOptimzeMessageStorage
public boolean isDoOptimzeMessageStorage()
- Specified by:
isDoOptimzeMessageStoragein interfaceDestination
-
setDoOptimzeMessageStorage
public void setDoOptimzeMessageStorage(boolean doOptimzeMessageStorage)
- Specified by:
setDoOptimzeMessageStoragein interfaceDestination
-
getOptimizeMessageStoreInFlightLimit
public int getOptimizeMessageStoreInFlightLimit()
-
setOptimizeMessageStoreInFlightLimit
public void setOptimizeMessageStoreInFlightLimit(int optimizeMessageStoreInFlightLimit)
-
getConsumers
public abstract List<Subscription> getConsumers()
- Specified by:
getConsumersin interfaceDestination
-
hasRegularConsumers
protected boolean hasRegularConsumers(List<Subscription> consumers)
-
createConnectionContext
public ConnectionContext createConnectionContext()
-
convertToNonRangedAck
protected MessageAck convertToNonRangedAck(MessageAck ack, MessageReference node)
-
isDLQ
protected boolean isDLQ()
-
duplicateFromStore
public void duplicateFromStore(Message message, Subscription subscription)
- Specified by:
duplicateFromStorein interfaceDestination
-
setPersistJMSRedelivered
public void setPersistJMSRedelivered(boolean persistJMSRedelivered)
-
isPersistJMSRedelivered
public boolean isPersistJMSRedelivered()
-
getSystemUsage
public SystemUsage getSystemUsage()
-
-