Interface Destination
-
- All Superinterfaces:
Message.MessageDestination,Service,Task
- All Known Implementing Classes:
AuthorizationDestinationFilter,BaseDestination,CompositeDestinationFilter,DestinationFilter,MappedQueueFilter,Queue,SelectorAwareVirtualTopicInterceptor,TempQueue,TempTopic,Topic,VirtualTopicInterceptor
public interface Destination extends Service, Task, Message.MessageDestination
-
-
Field Summary
Fields Modifier and Type Field Description static longDEFAULT_BLOCKED_PRODUCER_WARNING_INTERVALstatic DeadLetterStrategyDEFAULT_DEAD_LETTER_STRATEGY
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidacknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node)voidaddProducer(ConnectionContext context, ProducerInfo info)voidaddSubscription(ConnectionContext context, Subscription sub)Message[]browse()booleancanGC()voidclearPendingMessages(int pendingAdditionsCount)voiddispose(ConnectionContext context)voidduplicateFromStore(Message message, Subscription subscription)voidfastProducer(ConnectionContext context, ProducerInfo producerInfo)Called to notify a producer is too fastvoidgc()ActiveMQDestinationgetActiveMQDestination()longgetBlockedProducerWarningInterval()List<Subscription>getConsumers()intgetCursorMemoryHighWaterMark()DeadLetterStrategygetDeadLetterStrategy()DestinationStatisticsgetDestinationStatistics()longgetInactiveTimeoutBeforeGC()intgetMaxAuditDepth()intgetMaxBrowsePageSize()intgetMaxPageSize()intgetMaxProducersToAudit()MemoryUsagegetMemoryUsage()MessageStoregetMessageStore()intgetMinimumMessageSize()StringgetName()SlowConsumerStrategygetSlowConsumerStrategy()TempUsagegetTempUsage()booleanisActive()booleanisAlwaysRetroactive()booleanisDisposed()booleanisDoOptimzeMessageStorage()booleanisEnableAudit()voidisFull(ConnectionContext context, Usage<?> usage)Called when a Usage reaches a limitbooleanisLazyDispatch()booleanisPrioritizedMessages()booleanisProducerFlowControl()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.voidmessageExpired(ConnectionContext context, Subscription subs, MessageReference node)Inform the Destination a message has expiredvoidprocessDispatchNotification(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)voidsend(ProducerBrokerExchange producerExchange, Message messageSend)voidsetAlwaysRetroactive(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(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 consumervoidwakeup()optionally called by a Subscriber - to inform the Destination its ready for more messages
-
-
-
Field Detail
-
DEFAULT_DEAD_LETTER_STRATEGY
static final DeadLetterStrategy DEFAULT_DEAD_LETTER_STRATEGY
-
DEFAULT_BLOCKED_PRODUCER_WARNING_INTERVAL
static final long DEFAULT_BLOCKED_PRODUCER_WARNING_INTERVAL
- See Also:
- Constant Field Values
-
-
Method Detail
-
addSubscription
void addSubscription(ConnectionContext context, Subscription sub) throws Exception
- Throws:
Exception
-
removeSubscription
void removeSubscription(ConnectionContext context, Subscription sub, long lastDeliveredSequenceId) throws Exception
- Throws:
Exception
-
addProducer
void addProducer(ConnectionContext context, ProducerInfo info) throws Exception
- Throws:
Exception
-
removeProducer
void removeProducer(ConnectionContext context, ProducerInfo info) throws Exception
- Throws:
Exception
-
send
void send(ProducerBrokerExchange producerExchange, Message messageSend) throws Exception
- Throws:
Exception
-
acknowledge
void acknowledge(ConnectionContext context, Subscription sub, MessageAck ack, MessageReference node) throws IOException
- Throws:
IOException
-
getInactiveTimeoutBeforeGC
long getInactiveTimeoutBeforeGC()
-
markForGC
void markForGC(long timeStamp)
-
canGC
boolean canGC()
-
gc
void gc()
-
getActiveMQDestination
ActiveMQDestination getActiveMQDestination()
-
getMemoryUsage
MemoryUsage getMemoryUsage()
- Specified by:
getMemoryUsagein interfaceMessage.MessageDestination
-
setMemoryUsage
void setMemoryUsage(MemoryUsage memoryUsage)
-
getTempUsage
TempUsage getTempUsage()
-
dispose
void dispose(ConnectionContext context) throws IOException
- Throws:
IOException
-
isDisposed
boolean isDisposed()
-
getDestinationStatistics
DestinationStatistics getDestinationStatistics()
-
getDeadLetterStrategy
DeadLetterStrategy getDeadLetterStrategy()
-
browse
Message[] browse()
-
getName
String getName()
-
getMessageStore
MessageStore getMessageStore()
-
isProducerFlowControl
boolean isProducerFlowControl()
-
setProducerFlowControl
void setProducerFlowControl(boolean value)
-
isAlwaysRetroactive
boolean isAlwaysRetroactive()
-
setAlwaysRetroactive
void setAlwaysRetroactive(boolean value)
-
setBlockedProducerWarningInterval
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- Parameters:
blockedProducerWarningInterval- the interval at which warning about blocked producers will be triggered.
-
getBlockedProducerWarningInterval
long getBlockedProducerWarningInterval()
- Returns:
- the interval at which warning about blocked producers will be triggered.
-
getMaxProducersToAudit
int getMaxProducersToAudit()
-
setMaxProducersToAudit
void setMaxProducersToAudit(int maxProducersToAudit)
-
getMaxAuditDepth
int getMaxAuditDepth()
-
setMaxAuditDepth
void setMaxAuditDepth(int maxAuditDepth)
-
isEnableAudit
boolean isEnableAudit()
-
setEnableAudit
void setEnableAudit(boolean enableAudit)
-
isActive
boolean isActive()
-
getMaxPageSize
int getMaxPageSize()
-
setMaxPageSize
void setMaxPageSize(int maxPageSize)
-
getMaxBrowsePageSize
int getMaxBrowsePageSize()
-
setMaxBrowsePageSize
void setMaxBrowsePageSize(int maxPageSize)
-
isUseCache
boolean isUseCache()
-
setUseCache
void setUseCache(boolean useCache)
-
getMinimumMessageSize
int getMinimumMessageSize()
- Specified by:
getMinimumMessageSizein interfaceMessage.MessageDestination
-
setMinimumMessageSize
void setMinimumMessageSize(int minimumMessageSize)
-
getCursorMemoryHighWaterMark
int getCursorMemoryHighWaterMark()
-
setCursorMemoryHighWaterMark
void setCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark)
-
wakeup
void wakeup()
optionally called by a Subscriber - to inform the Destination its ready for more messages
-
isLazyDispatch
boolean isLazyDispatch()
- Returns:
- true if lazyDispatch is enabled
-
setLazyDispatch
void setLazyDispatch(boolean value)
set the lazy dispatch - default is false- Parameters:
value-
-
messageExpired
void messageExpired(ConnectionContext context, Subscription subs, MessageReference node)
Inform the Destination a message has expired- Parameters:
context-subs-node-
-
messageConsumed
void messageConsumed(ConnectionContext context, MessageReference messageReference)
called when message is consumed- Parameters:
context-messageReference-
-
messageDelivered
void messageDelivered(ConnectionContext context, MessageReference messageReference)
Called when message is delivered to the broker- Parameters:
context-messageReference-
-
messageDiscarded
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- Parameters:
context-messageReference-sub-
-
slowConsumer
void slowConsumer(ConnectionContext context, Subscription subs)
Called when there is a slow consumer- Parameters:
context-subs-
-
fastProducer
void fastProducer(ConnectionContext context, ProducerInfo producerInfo)
Called to notify a producer is too fast- Parameters:
context-producerInfo-
-
isFull
void isFull(ConnectionContext context, Usage<?> usage)
Called when a Usage reaches a limit- Parameters:
context-usage-
-
getConsumers
List<Subscription> getConsumers()
-
processDispatchNotification
void processDispatchNotification(MessageDispatchNotification messageDispatchNotification) throws Exception
called on Queues in slave mode to allow dispatch to follow subscription choice of master- Parameters:
messageDispatchNotification-- Throws:
Exception
-
isPrioritizedMessages
boolean isPrioritizedMessages()
-
getSlowConsumerStrategy
SlowConsumerStrategy getSlowConsumerStrategy()
-
isDoOptimzeMessageStorage
boolean isDoOptimzeMessageStorage()
-
setDoOptimzeMessageStorage
void setDoOptimzeMessageStorage(boolean doOptimzeMessageStorage)
-
clearPendingMessages
void clearPendingMessages(int pendingAdditionsCount)
-
duplicateFromStore
void duplicateFromStore(Message message, Subscription subscription)
-
isSendDuplicateFromStoreToDLQ
boolean isSendDuplicateFromStoreToDLQ()
-
setSendDuplicateFromStoreToDLQ
void setSendDuplicateFromStoreToDLQ(boolean sendDuplicateFromStoreToDLQ)
-
-