public abstract class AbstractSubscription extends Object implements Subscription
Modifier and Type | Field and Description |
---|---|
protected Broker |
broker |
protected ConnectionContext |
context |
protected DestinationFilter |
destinationFilter |
protected CopyOnWriteArrayList<Destination> |
destinations |
protected ConsumerInfo |
info |
protected AtomicInteger |
prefetchExtension |
Constructor and Description |
---|
AbstractSubscription(Broker broker,
ConnectionContext context,
ConsumerInfo info) |
Modifier and Type | Method and Description |
---|---|
void |
acknowledge(ConnectionContext context,
MessageAck ack)
Used when client acknowledge receipt of dispatched message.
|
void |
add(ConnectionContext context,
Destination destination)
The subscription will be receiving messages from the destination.
|
void |
addDestination(Destination destination)
Add a destination
|
boolean |
addRecoveredMessage(ConnectionContext context,
MessageReference message)
Add a message to the SubscriptionRecovery
|
protected void |
contractPrefetchExtension(int amount) |
int |
countBeforeFull() |
protected void |
decrementPrefetchExtension(int amount) |
protected void |
doAddRecoveredMessage(MessageReference message) |
protected void |
expandPrefetchExtension(int amount) |
void |
gc()
The subscription should release as may references as it can to help the garbage collector
reclaim memory.
|
ActiveMQDestination |
getActiveMQDestination() |
long |
getConsumedCount() |
ConsumerInfo |
getConsumerInfo()
The ConsumerInfo object that created the subscription.
|
ConnectionContext |
getContext() |
int |
getCursorMemoryHighWaterMark() |
long |
getInFlightMessageSize() |
int |
getInFlightUsage() |
ConsumerInfo |
getInfo() |
ObjectName |
getObjectName() |
AtomicInteger |
getPrefetchExtension() |
int |
getPrefetchSize() |
String |
getSelector() |
BooleanExpression |
getSelectorExpression() |
SubscriptionStatistics |
getSubscriptionStatistics() |
long |
getTimeOfLastMessageAck()
Returns the time since the last Ack message was received by this subscription.
|
void |
incrementConsumedCount() |
boolean |
isBrowser() |
boolean |
isRecoveryRequired()
Informs the Broker if the subscription needs to intervention to recover it's state
e.g.
|
boolean |
isSlowConsumer() |
boolean |
isUsePrefetchExtension() |
boolean |
isWildcard()
Returns true if this subscription is a Wildcard subscription.
|
boolean |
matches(ActiveMQDestination destination)
Is the subscription interested in messages in the destination?
|
boolean |
matches(MessageReference node,
MessageEvaluationContext context)
Is the subscription interested in the message?
|
List<MessageReference> |
remove(ConnectionContext context,
Destination destination)
The subscription will be no longer be receiving messages from the destination.
|
void |
removeDestination(Destination destination)
Remove a destination
|
void |
resetConsumedCount() |
void |
setCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark) |
void |
setObjectName(ObjectName objectName)
Set when the subscription is registered in JMX
|
void |
setPrefetchSize(int newSize) |
void |
setSelector(String selector)
Attempts to change the current active selector on the subscription.
|
void |
setSlowConsumer(boolean val) |
void |
setTimeOfLastMessageAck(long value) |
void |
setUsePrefetchExtension(boolean usePrefetchExtension) |
void |
unmatched(MessageReference node) |
void |
wakeupDestinationsForDispatch() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
add, destroy, getDequeueCounter, getDispatchedCounter, getDispatchedQueueSize, getEnqueueCounter, getInFlightSize, getPendingMessageSize, getPendingQueueSize, isFull, isHighWaterMark, isLowWaterMark, processMessageDispatchNotification, pullMessage, updateConsumerPrefetch
protected ConnectionContext context
protected ConsumerInfo info
protected final DestinationFilter destinationFilter
protected final CopyOnWriteArrayList<Destination> destinations
protected final AtomicInteger prefetchExtension
public AbstractSubscription(Broker broker, ConnectionContext context, ConsumerInfo info) throws javax.jms.InvalidSelectorException
javax.jms.InvalidSelectorException
public void acknowledge(ConnectionContext context, MessageAck ack) throws Exception
Subscription
acknowledge
in interface Subscription
IOException
Exception
public boolean matches(MessageReference node, MessageEvaluationContext context) throws IOException
Subscription
matches
in interface Subscription
IOException
public boolean isWildcard()
Subscription
isWildcard
in interface Subscription
public boolean matches(ActiveMQDestination destination)
Subscription
matches
in interface Subscription
public void add(ConnectionContext context, Destination destination) throws Exception
Subscription
add
in interface Subscription
Exception
public List<MessageReference> remove(ConnectionContext context, Destination destination) throws Exception
Subscription
remove
in interface Subscription
Exception
public ConsumerInfo getConsumerInfo()
Subscription
getConsumerInfo
in interface Subscription
public void gc()
Subscription
gc
in interface Subscription
public ConnectionContext getContext()
getContext
in interface Subscription
public ConsumerInfo getInfo()
public BooleanExpression getSelectorExpression()
public String getSelector()
getSelector
in interface Subscription
public void setSelector(String selector) throws javax.jms.InvalidSelectorException
Subscription
setSelector
in interface Subscription
javax.jms.InvalidSelectorException
public ObjectName getObjectName()
getObjectName
in interface Subscription
public void setObjectName(ObjectName objectName)
Subscription
setObjectName
in interface Subscription
public int getPrefetchSize()
getPrefetchSize
in interface Subscription
public boolean isUsePrefetchExtension()
public void setUsePrefetchExtension(boolean usePrefetchExtension)
public void setPrefetchSize(int newSize)
public boolean isRecoveryRequired()
Subscription
isRecoveryRequired
in interface Subscription
PendingMessageCursor
public boolean isSlowConsumer()
isSlowConsumer
in interface Subscription
public void setSlowConsumer(boolean val)
public boolean addRecoveredMessage(ConnectionContext context, MessageReference message) throws Exception
SubscriptionRecovery
addRecoveredMessage
in interface SubscriptionRecovery
Exception
public ActiveMQDestination getActiveMQDestination()
getActiveMQDestination
in interface SubscriptionRecovery
public boolean isBrowser()
isBrowser
in interface Subscription
public long getInFlightMessageSize()
getInFlightMessageSize
in interface Subscription
public int getInFlightUsage()
getInFlightUsage
in interface Subscription
public void addDestination(Destination destination)
destination
- public void removeDestination(Destination destination)
destination
- public int getCursorMemoryHighWaterMark()
getCursorMemoryHighWaterMark
in interface Subscription
public void setCursorMemoryHighWaterMark(int cursorMemoryHighWaterMark)
setCursorMemoryHighWaterMark
in interface Subscription
public int countBeforeFull()
countBeforeFull
in interface Subscription
public void unmatched(MessageReference node) throws IOException
unmatched
in interface Subscription
IOException
protected void doAddRecoveredMessage(MessageReference message) throws Exception
Exception
public long getTimeOfLastMessageAck()
Subscription
getTimeOfLastMessageAck
in interface Subscription
public void setTimeOfLastMessageAck(long value)
public long getConsumedCount()
getConsumedCount
in interface Subscription
public void incrementConsumedCount()
incrementConsumedCount
in interface Subscription
public void resetConsumedCount()
resetConsumedCount
in interface Subscription
public SubscriptionStatistics getSubscriptionStatistics()
getSubscriptionStatistics
in interface Subscription
public void wakeupDestinationsForDispatch()
public AtomicInteger getPrefetchExtension()
protected void contractPrefetchExtension(int amount)
protected void expandPrefetchExtension(int amount)
protected void decrementPrefetchExtension(int amount)
Copyright © 2005–2019 The Apache Software Foundation. All rights reserved.