Class DestinationFilter
- java.lang.Object
-
- org.apache.activemq.broker.region.DestinationFilter
-
- All Implemented Interfaces:
Destination,org.apache.activemq.command.Message.MessageDestination,org.apache.activemq.Service,org.apache.activemq.thread.Task
- Direct Known Subclasses:
AuthorizationDestinationFilter,CompositeDestinationFilter,MappedQueueFilter,VirtualTopicInterceptor
public class DestinationFilter extends Object implements Destination
-
-
Field Summary
Fields Modifier and Type Field Description protected Destinationnext-
Fields inherited from interface org.apache.activemq.broker.region.Destination
DEFAULT_BLOCKED_PRODUCER_WARNING_INTERVAL, DEFAULT_DEAD_LETTER_STRATEGY
-
-
Constructor Summary
Constructors Constructor Description DestinationFilter(Destination next)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidacknowledge(ConnectionContext context, Subscription sub, org.apache.activemq.command.MessageAck ack, org.apache.activemq.broker.region.MessageReference node)voidaddProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo info)voidaddSubscription(ConnectionContext context, Subscription sub)org.apache.activemq.command.Message[]browse()booleancanGC()voidclearPendingMessages(int pendingAdditionsCount)voiddeleteSubscription(ConnectionContext context, SubscriptionKey key)voiddispose(ConnectionContext context)voidduplicateFromStore(org.apache.activemq.command.Message message, Subscription subscription)voidfastProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo producerInfo)Called to notify a producer is too fastvoidgc()org.apache.activemq.command.ActiveMQDestinationgetActiveMQDestination()<T> TgetAdaptor(Class<? extends T> clazz)longgetBlockedProducerWarningInterval()List<Subscription>getConsumers()intgetCursorMemoryHighWaterMark()DeadLetterStrategygetDeadLetterStrategy()DestinationStatisticsgetDestinationStatistics()longgetInactiveTimeoutBeforeGC()intgetMaxAuditDepth()intgetMaxBrowsePageSize()intgetMaxPageSize()intgetMaxProducersToAudit()org.apache.activemq.usage.MemoryUsagegetMemoryUsage()MessageStoregetMessageStore()intgetMinimumMessageSize()StringgetName()DestinationgetNext()SlowConsumerStrategygetSlowConsumerStrategy()TempUsagegetTempUsage()booleanisActive()booleanisAlwaysRetroactive()booleanisDisposed()booleanisDoOptimzeMessageStorage()booleanisEnableAudit()voidisFull(ConnectionContext context, org.apache.activemq.usage.Usage<?> usage)Called when a Usage reaches a limitbooleanisLazyDispatch()booleanisPrioritizedMessages()booleanisProducerFlowControl()booleanisSendDuplicateFromStoreToDLQ()booleanisUseCache()booleaniterate()voidmarkForGC(long timeStamp)voidmessageConsumed(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference)called when message is consumedvoidmessageDelivered(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference)Called when message is delivered to the brokervoidmessageDiscarded(ConnectionContext context, Subscription sub, org.apache.activemq.broker.region.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 topicsvoidmessageExpired(ConnectionContext context, PrefetchSubscription prefetchSubscription, org.apache.activemq.broker.region.MessageReference node)voidmessageExpired(ConnectionContext context, Subscription subs, org.apache.activemq.broker.region.MessageReference node)Inform the Destination a message has expiredvoidprocessDispatchNotification(org.apache.activemq.command.MessageDispatchNotification messageDispatchNotification)called on Queues in slave mode to allow dispatch to follow subscription choice of mastervoidremoveProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo info)voidremoveSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId)voidsend(ProducerBrokerExchange context, org.apache.activemq.command.Message messageSend)protected voidsend(ProducerBrokerExchange context, org.apache.activemq.command.Message message, org.apache.activemq.command.ActiveMQDestination destination)Sends a message to the given destination which may be a wildcardvoidsetAlwaysRetroactive(boolean value)voidsetBlockedProducerWarningInterval(long blockedProducerWarningInterval)Set's the interval at which warnings about producers being blocked by resource usage will be triggered.voidsetCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark)voidsetDoOptimzeMessageStorage(boolean doOptimzeMessageStorage)voidsetEnableAudit(boolean enableAudit)voidsetLazyDispatch(boolean value)set the lazy dispatch - default is falsevoidsetMaxAuditDepth(int maxAuditDepth)voidsetMaxBrowsePageSize(int maxPageSize)voidsetMaxPageSize(int maxPageSize)voidsetMaxProducersToAudit(int maxProducersToAudit)voidsetMemoryUsage(org.apache.activemq.usage.MemoryUsage memoryUsage)voidsetMinimumMessageSize(int minimumMessageSize)voidsetProducerFlowControl(boolean value)voidsetSendDuplicateFromStoreToDLQ(boolean sendDuplicateFromStoreToDLQ)voidsetUseCache(boolean useCache)voidslowConsumer(ConnectionContext context, Subscription subs)Called when there is a slow consumervoidstart()voidstop()voidwakeup()optionally called by a Subscriber - to inform the Destination its ready for more messages
-
-
-
Field Detail
-
next
protected final Destination next
-
-
Constructor Detail
-
DestinationFilter
public DestinationFilter(Destination next)
-
-
Method Detail
-
acknowledge
public void acknowledge(ConnectionContext context, Subscription sub, org.apache.activemq.command.MessageAck ack, org.apache.activemq.broker.region.MessageReference node) throws IOException
- Specified by:
acknowledgein interfaceDestination- Throws:
IOException
-
addSubscription
public void addSubscription(ConnectionContext context, Subscription sub) throws Exception
- Specified by:
addSubscriptionin interfaceDestination- Throws:
Exception
-
browse
public org.apache.activemq.command.Message[] browse()
- Specified by:
browsein interfaceDestination
-
dispose
public void dispose(ConnectionContext context) throws IOException
- Specified by:
disposein interfaceDestination- Throws:
IOException
-
isDisposed
public boolean isDisposed()
- Specified by:
isDisposedin interfaceDestination
-
gc
public void gc()
- Specified by:
gcin interfaceDestination
-
markForGC
public void markForGC(long timeStamp)
- Specified by:
markForGCin interfaceDestination
-
canGC
public boolean canGC()
- Specified by:
canGCin interfaceDestination
-
getInactiveTimeoutBeforeGC
public long getInactiveTimeoutBeforeGC()
- Specified by:
getInactiveTimeoutBeforeGCin interfaceDestination
-
getActiveMQDestination
public org.apache.activemq.command.ActiveMQDestination getActiveMQDestination()
- Specified by:
getActiveMQDestinationin interfaceDestination
-
getDeadLetterStrategy
public DeadLetterStrategy getDeadLetterStrategy()
- Specified by:
getDeadLetterStrategyin interfaceDestination
-
getDestinationStatistics
public DestinationStatistics getDestinationStatistics()
- Specified by:
getDestinationStatisticsin interfaceDestination
-
getName
public String getName()
- Specified by:
getNamein interfaceDestination
-
getMemoryUsage
public org.apache.activemq.usage.MemoryUsage getMemoryUsage()
- Specified by:
getMemoryUsagein interfaceDestination- Specified by:
getMemoryUsagein interfaceorg.apache.activemq.command.Message.MessageDestination
-
setMemoryUsage
public void setMemoryUsage(org.apache.activemq.usage.MemoryUsage memoryUsage)
- Specified by:
setMemoryUsagein interfaceDestination
-
getTempUsage
public TempUsage getTempUsage()
- Specified by:
getTempUsagein interfaceDestination
-
removeSubscription
public void removeSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId) throws Exception
- Specified by:
removeSubscriptionin interfaceDestination- Throws:
Exception
-
send
public void send(ProducerBrokerExchange context, org.apache.activemq.command.Message messageSend) throws Exception
- Specified by:
sendin interfaceDestination- Throws:
Exception
-
start
public void start() throws Exception- Specified by:
startin interfaceorg.apache.activemq.Service- Throws:
Exception
-
stop
public void stop() throws Exception- Specified by:
stopin interfaceorg.apache.activemq.Service- Throws:
Exception
-
getConsumers
public List<Subscription> getConsumers()
- Specified by:
getConsumersin interfaceDestination
-
send
protected void send(ProducerBrokerExchange context, org.apache.activemq.command.Message message, org.apache.activemq.command.ActiveMQDestination destination) throws Exception
Sends a message to the given destination which may be a wildcard- Parameters:
context- broker contextmessage- message to senddestination- possibly wildcard destination to send the message to- Throws:
Exception- on error
-
getMessageStore
public MessageStore getMessageStore()
- Specified by:
getMessageStorein interfaceDestination
-
isProducerFlowControl
public boolean isProducerFlowControl()
- Specified by:
isProducerFlowControlin interfaceDestination
-
setProducerFlowControl
public void setProducerFlowControl(boolean value)
- Specified by:
setProducerFlowControlin interfaceDestination
-
isAlwaysRetroactive
public boolean isAlwaysRetroactive()
- Specified by:
isAlwaysRetroactivein interfaceDestination
-
setAlwaysRetroactive
public void setAlwaysRetroactive(boolean value)
- Specified by:
setAlwaysRetroactivein interfaceDestination
-
setBlockedProducerWarningInterval
public void setBlockedProducerWarningInterval(long blockedProducerWarningInterval)
Description copied from interface:DestinationSet'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.
-
addProducer
public void addProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo info) throws Exception
- Specified by:
addProducerin interfaceDestination- Throws:
Exception
-
removeProducer
public void removeProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo info) throws Exception
- Specified by:
removeProducerin interfaceDestination- Throws:
Exception
-
getMaxAuditDepth
public int getMaxAuditDepth()
- Specified by:
getMaxAuditDepthin interfaceDestination
-
getMaxProducersToAudit
public int getMaxProducersToAudit()
- Specified by:
getMaxProducersToAuditin interfaceDestination
-
isEnableAudit
public boolean isEnableAudit()
- Specified by:
isEnableAuditin interfaceDestination
-
setEnableAudit
public void setEnableAudit(boolean enableAudit)
- Specified by:
setEnableAuditin interfaceDestination
-
setMaxAuditDepth
public void setMaxAuditDepth(int maxAuditDepth)
- Specified by:
setMaxAuditDepthin interfaceDestination
-
setMaxProducersToAudit
public void setMaxProducersToAudit(int maxProducersToAudit)
- Specified by:
setMaxProducersToAuditin 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
-
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 interfaceorg.apache.activemq.command.Message.MessageDestination
-
setMinimumMessageSize
public void setMinimumMessageSize(int minimumMessageSize)
- Specified by:
setMinimumMessageSizein interfaceDestination
-
wakeup
public void wakeup()
Description copied from interface:Destinationoptionally called by a Subscriber - to inform the Destination its ready for more messages- Specified by:
wakeupin interfaceDestination
-
isLazyDispatch
public boolean isLazyDispatch()
- Specified by:
isLazyDispatchin interfaceDestination- Returns:
- true if lazyDispatch is enabled
-
setLazyDispatch
public void setLazyDispatch(boolean value)
Description copied from interface:Destinationset the lazy dispatch - default is false- Specified by:
setLazyDispatchin interfaceDestination
-
messageExpired
public void messageExpired(ConnectionContext context, PrefetchSubscription prefetchSubscription, org.apache.activemq.broker.region.MessageReference node)
-
iterate
public boolean iterate()
- Specified by:
iteratein interfaceorg.apache.activemq.thread.Task
-
fastProducer
public void fastProducer(ConnectionContext context, org.apache.activemq.command.ProducerInfo producerInfo)
Description copied from interface:DestinationCalled to notify a producer is too fast- Specified by:
fastProducerin interfaceDestination
-
isFull
public void isFull(ConnectionContext context, org.apache.activemq.usage.Usage<?> usage)
Description copied from interface:DestinationCalled when a Usage reaches a limit- Specified by:
isFullin interfaceDestination
-
messageConsumed
public void messageConsumed(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference)
Description copied from interface:Destinationcalled when message is consumed- Specified by:
messageConsumedin interfaceDestination
-
messageDelivered
public void messageDelivered(ConnectionContext context, org.apache.activemq.broker.region.MessageReference messageReference)
Description copied from interface:DestinationCalled when message is delivered to the broker- Specified by:
messageDeliveredin interfaceDestination
-
messageDiscarded
public void messageDiscarded(ConnectionContext context, Subscription sub, org.apache.activemq.broker.region.MessageReference messageReference)
Description copied from interface:DestinationCalled 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
-
slowConsumer
public void slowConsumer(ConnectionContext context, Subscription subs)
Description copied from interface:DestinationCalled when there is a slow consumer- Specified by:
slowConsumerin interfaceDestination
-
messageExpired
public void messageExpired(ConnectionContext context, Subscription subs, org.apache.activemq.broker.region.MessageReference node)
Description copied from interface:DestinationInform the Destination a message has expired- Specified by:
messageExpiredin interfaceDestination
-
getMaxBrowsePageSize
public int getMaxBrowsePageSize()
- Specified by:
getMaxBrowsePageSizein interfaceDestination
-
setMaxBrowsePageSize
public void setMaxBrowsePageSize(int maxPageSize)
- Specified by:
setMaxBrowsePageSizein interfaceDestination
-
processDispatchNotification
public void processDispatchNotification(org.apache.activemq.command.MessageDispatchNotification messageDispatchNotification) throws ExceptionDescription copied from interface:Destinationcalled on Queues in slave mode to allow dispatch to follow subscription choice of master- Specified by:
processDispatchNotificationin interfaceDestination- Throws:
Exception
-
getCursorMemoryHighWaterMark
public int getCursorMemoryHighWaterMark()
- Specified by:
getCursorMemoryHighWaterMarkin interfaceDestination
-
setCursorMemoryHighWaterMark
public void setCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark)
- Specified by:
setCursorMemoryHighWaterMarkin interfaceDestination
-
isPrioritizedMessages
public boolean isPrioritizedMessages()
- Specified by:
isPrioritizedMessagesin interfaceDestination
-
getSlowConsumerStrategy
public SlowConsumerStrategy getSlowConsumerStrategy()
- Specified by:
getSlowConsumerStrategyin interfaceDestination
-
isDoOptimzeMessageStorage
public boolean isDoOptimzeMessageStorage()
- Specified by:
isDoOptimzeMessageStoragein interfaceDestination
-
setDoOptimzeMessageStorage
public void setDoOptimzeMessageStorage(boolean doOptimzeMessageStorage)
- Specified by:
setDoOptimzeMessageStoragein interfaceDestination
-
clearPendingMessages
public void clearPendingMessages(int pendingAdditionsCount)
- Specified by:
clearPendingMessagesin interfaceDestination
-
duplicateFromStore
public void duplicateFromStore(org.apache.activemq.command.Message message, Subscription subscription)- Specified by:
duplicateFromStorein interfaceDestination
-
isSendDuplicateFromStoreToDLQ
public boolean isSendDuplicateFromStoreToDLQ()
- Specified by:
isSendDuplicateFromStoreToDLQin interfaceDestination
-
setSendDuplicateFromStoreToDLQ
public void setSendDuplicateFromStoreToDLQ(boolean sendDuplicateFromStoreToDLQ)
- Specified by:
setSendDuplicateFromStoreToDLQin interfaceDestination
-
deleteSubscription
public void deleteSubscription(ConnectionContext context, SubscriptionKey key) throws Exception
- Throws:
Exception
-
getNext
public Destination getNext()
-
getAdaptor
public <T> T getAdaptor(Class<? extends T> clazz)
-
-