public class QueueImpl extends CriticalComponentImpl implements Queue
Completely non blocking between adding to queue and delivering to consumers.
Modifier and Type | Field and Description |
---|---|
static int |
CHECK_QUEUE_SIZE_PERIOD |
protected static int |
CRITICAL_CONSUMER |
protected static int |
CRITICAL_DELIVER |
protected static int |
CRITICAL_PATH_ADD_HEAD |
protected static int |
CRITICAL_PATH_ADD_TAIL |
protected static int |
CRITICAL_PATHS |
static int |
DEFAULT_FLUSH_LIMIT |
protected AtomicInteger |
deliveringCount |
static int |
DELIVERY_TIMEOUT
If The system gets slow for any reason, this is the maximum time a Delivery or
or depage executor should be hanging on
|
static int |
MAX_DELIVERIES_IN_LOOP |
static int |
NUM_PRIORITIES |
static int |
REDISTRIBUTOR_BATCH_SIZE |
Constructor and Description |
---|
QueueImpl(long id,
SimpleString address,
SimpleString name,
Filter filter,
PageSubscription pageSubscription,
SimpleString user,
boolean durable,
boolean temporary,
boolean autoCreated,
ScheduledExecutorService scheduledExecutor,
PostOffice postOffice,
StorageManager storageManager,
HierarchicalRepository<AddressSettings> addressSettingsRepository,
Executor executor,
ActiveMQServer server,
QueueFactory factory) |
QueueImpl(long id,
SimpleString address,
SimpleString name,
Filter filter,
SimpleString user,
boolean durable,
boolean temporary,
boolean autoCreated,
ScheduledExecutorService scheduledExecutor,
PostOffice postOffice,
StorageManager storageManager,
HierarchicalRepository<AddressSettings> addressSettingsRepository,
Executor executor,
ActiveMQServer server,
QueueFactory factory) |
enterCritical, getCriticalAnalyzer, isExpired, leaveCritical
enterCritical, isExpired, leaveCritical
protected static final int CRITICAL_PATHS
protected static final int CRITICAL_PATH_ADD_TAIL
protected static final int CRITICAL_PATH_ADD_HEAD
protected static final int CRITICAL_DELIVER
protected static final int CRITICAL_CONSUMER
public static final int REDISTRIBUTOR_BATCH_SIZE
public static final int NUM_PRIORITIES
public static final int MAX_DELIVERIES_IN_LOOP
public static final int CHECK_QUEUE_SIZE_PERIOD
public static final int DELIVERY_TIMEOUT
public static final int DEFAULT_FLUSH_LIMIT
protected final AtomicInteger deliveringCount
public QueueImpl(long id, SimpleString address, SimpleString name, Filter filter, SimpleString user, boolean durable, boolean temporary, boolean autoCreated, ScheduledExecutorService scheduledExecutor, PostOffice postOffice, StorageManager storageManager, HierarchicalRepository<AddressSettings> addressSettingsRepository, Executor executor, ActiveMQServer server, QueueFactory factory)
public QueueImpl(long id, SimpleString address, SimpleString name, Filter filter, PageSubscription pageSubscription, SimpleString user, boolean durable, boolean temporary, boolean autoCreated, ScheduledExecutorService scheduledExecutor, PostOffice postOffice, StorageManager storageManager, HierarchicalRepository<AddressSettings> addressSettingsRepository, Executor executor, ActiveMQServer server, QueueFactory factory)
public List<SimpleString> getGroupsUsed()
public String debug()
public SimpleString getRoutingName()
public SimpleString getUniqueName()
public SimpleString getUser()
public boolean isExclusive()
public void route(ServerMessage message, RoutingContext context) throws Exception
public void routeWithAck(ServerMessage message, RoutingContext context)
routeWithAck
in interface Bindable
public void setConsumersRefCount(ReferenceCounter referenceCounter)
Queue
setConsumersRefCount
in interface Queue
public ReferenceCounter getConsumersRefCount()
getConsumersRefCount
in interface Queue
public boolean isTemporary()
isTemporary
in interface Queue
public boolean isAutoCreated()
isAutoCreated
in interface Queue
public SimpleString getName()
public SimpleString getAddress()
getAddress
in interface Queue
public PageSubscription getPageSubscription()
getPageSubscription
in interface Queue
public void unproposed(SimpleString groupID)
unproposed
in interface Queue
public void addHead(MessageReference ref, boolean scheduling)
public void addHead(List<MessageReference> refs, boolean scheduling)
public void reload(MessageReference ref)
public void addTail(MessageReference ref)
public void addTail(MessageReference ref, boolean direct)
protected boolean scheduleIfPossible(MessageReference ref)
public void forceDelivery()
Queue
forceDelivery
in interface Queue
public void deliverAsync()
deliverAsync
in interface Queue
public Executor getExecutor()
getExecutor
in interface Queue
public void deliverNow()
public boolean flushExecutor()
flushExecutor
in interface Queue
public void addConsumer(Consumer consumer) throws Exception
addConsumer
in interface Queue
Exception
public void removeConsumer(Consumer consumer)
removeConsumer
in interface Queue
public void addRedistributor(long delay)
addRedistributor
in interface Queue
public void cancelRedistributor() throws Exception
cancelRedistributor
in interface Queue
Exception
protected void finalize() throws Throwable
public int getConsumerCount()
getConsumerCount
in interface Queue
public Set<Consumer> getConsumers()
getConsumers
in interface Queue
public boolean hasMatchingConsumer(ServerMessage message)
hasMatchingConsumer
in interface Queue
public LinkedListIterator<MessageReference> iterator()
Queue
public org.apache.activemq.artemis.core.server.impl.QueueImpl.QueueBrowserIterator browserIterator()
browserIterator
in interface Queue
public MessageReference removeReferenceWithID(long id1) throws Exception
removeReferenceWithID
in interface Queue
Exception
public MessageReference getReference(long id1) throws ActiveMQException
getReference
in interface Queue
ActiveMQException
public long getMessageCount()
getMessageCount
in interface Queue
public int getScheduledCount()
getScheduledCount
in interface Queue
public List<MessageReference> getScheduledMessages()
getScheduledMessages
in interface Queue
public Map<String,List<MessageReference>> getDeliveringMessages()
Queue
getDeliveringMessages
in interface Queue
public int getDeliveringCount()
getDeliveringCount
in interface Queue
public void acknowledge(MessageReference ref) throws Exception
acknowledge
in interface Queue
Exception
public void acknowledge(MessageReference ref, AckReason reason) throws Exception
acknowledge
in interface Queue
Exception
public void acknowledge(Transaction tx, MessageReference ref) throws Exception
acknowledge
in interface Queue
Exception
public void acknowledge(Transaction tx, MessageReference ref, AckReason reason) throws Exception
acknowledge
in interface Queue
Exception
public void reacknowledge(Transaction tx, MessageReference ref) throws Exception
reacknowledge
in interface Queue
Exception
public void cancel(Transaction tx, MessageReference reference)
public void cancel(Transaction tx, MessageReference reference, boolean ignoreRedeliveryCheck)
public void cancel(MessageReference reference, long timeBase) throws Exception
public void expire(MessageReference ref) throws Exception
public SimpleString getExpiryAddress()
getExpiryAddress
in interface Queue
public void referenceHandled()
referenceHandled
in interface Queue
public void incrementMesssagesAdded()
incrementMesssagesAdded
in interface Queue
public void deliverScheduledMessages() throws ActiveMQException
Queue
deliverScheduledMessages
in interface Queue
ActiveMQException
public long getMessagesAdded()
getMessagesAdded
in interface Queue
public long getMessagesAcknowledged()
getMessagesAcknowledged
in interface Queue
public long getMessagesExpired()
getMessagesExpired
in interface Queue
public long getMessagesKilled()
getMessagesKilled
in interface Queue
public int deleteAllReferences() throws Exception
deleteAllReferences
in interface Queue
Exception
public int deleteAllReferences(int flushLimit) throws Exception
deleteAllReferences
in interface Queue
Exception
public int deleteMatchingReferences(Filter filter) throws Exception
deleteMatchingReferences
in interface Queue
Exception
public int deleteMatchingReferences(int flushLimit, Filter filter1) throws Exception
deleteMatchingReferences
in interface Queue
Exception
public void destroyPaging() throws Exception
destroyPaging
in interface Queue
Exception
public boolean deleteReference(long messageID) throws Exception
deleteReference
in interface Queue
Exception
public void deleteQueue() throws Exception
deleteQueue
in interface Queue
Exception
public void deleteQueue(boolean removeConsumers) throws Exception
deleteQueue
in interface Queue
Exception
public boolean expireReference(long messageID) throws Exception
expireReference
in interface Queue
Exception
public int expireReferences(Filter filter) throws Exception
Queue
expireReferences
in interface Queue
Exception
public void expireReferences()
expireReferences
in interface Queue
public boolean isExpirationRedundant()
public boolean sendMessageToDeadLetterAddress(long messageID) throws Exception
sendMessageToDeadLetterAddress
in interface Queue
Exception
public int sendMessagesToDeadLetterAddress(Filter filter) throws Exception
sendMessagesToDeadLetterAddress
in interface Queue
Exception
public boolean moveReference(long messageID, SimpleString toAddress) throws Exception
moveReference
in interface Queue
Exception
public boolean moveReference(long messageID, SimpleString toAddress, boolean rejectDuplicate) throws Exception
moveReference
in interface Queue
Exception
public int moveReferences(Filter filter, SimpleString toAddress) throws Exception
moveReferences
in interface Queue
Exception
public int moveReferences(int flushLimit, Filter filter, SimpleString toAddress, boolean rejectDuplicates) throws Exception
moveReferences
in interface Queue
Exception
public int moveReferencesBetweenSnFQueues(SimpleString queueSuffix) throws Exception
Exception
public int retryMessages(Filter filter) throws Exception
retryMessages
in interface Queue
Exception
public boolean changeReferencePriority(long messageID, byte newPriority) throws Exception
changeReferencePriority
in interface Queue
Exception
public int changeReferencesPriority(Filter filter, byte newPriority) throws Exception
changeReferencesPriority
in interface Queue
Exception
public void resetAllIterators()
resetAllIterators
in interface Queue
public void pause()
Queue
public void reloadPause(long recordID)
reloadPause
in interface Queue
public void pause(boolean persist)
Queue
public void resume()
Queue
public boolean isPaused()
public boolean isPersistedPause()
Queue
isPersistedPause
in interface Queue
public boolean isDirectDeliver()
isDirectDeliver
in interface Queue
public boolean isInternalQueue()
Queue
isInternalQueue
in interface Queue
public void setInternalQueue(boolean internalQueue)
setInternalQueue
in interface Queue
internalQueue
- the internalQueue to setprotected void refRemoved(MessageReference ref)
protected void refAdded(MessageReference ref)
public boolean checkRedelivery(MessageReference reference, long timeBase, boolean ignoreRedeliveryDelay) throws Exception
checkRedelivery
in interface Queue
Exception
public int getNumberOfReferences()
public void sendToDeadLetterAddress(Transaction tx, MessageReference ref) throws Exception
sendToDeadLetterAddress
in interface Queue
Exception
public void postAcknowledge(MessageReference ref)
postAcknowledge
in interface Queue
public void resetMessagesAdded()
resetMessagesAdded
in interface Queue
public void resetMessagesAcknowledged()
resetMessagesAcknowledged
in interface Queue
public void resetMessagesExpired()
resetMessagesExpired
in interface Queue
public void resetMessagesKilled()
resetMessagesKilled
in interface Queue
public void decDelivering()
public void decDelivering(int size)
decDelivering
in interface Queue
Copyright © 2018 The Apache Software Foundation. All Rights Reserved.