Package org.apache.qpid.server.queue
Class PriorityQueueImpl
- java.lang.Object
-
- org.apache.qpid.server.model.AbstractConfiguredObject<X>
-
- org.apache.qpid.server.queue.AbstractQueue<X>
-
- org.apache.qpid.server.queue.OutOfOrderQueue<PriorityQueueImpl>
-
- org.apache.qpid.server.queue.PriorityQueueImpl
-
- All Implemented Interfaces:
Comparable<PriorityQueueImpl>
,DestinationReferrer
,MessageDestination
,MessageNode
,MessageSource
,ConfiguredObject<PriorityQueueImpl>
,ContextProvider
,PermissionedObject
,Queue<PriorityQueueImpl>
,TaskExecutorProvider
,BaseQueue
,MessageGroupManager.ConsumerResetHelper
,PriorityQueue<PriorityQueueImpl>
,TransactionLogResource
,TransactionMonitor
,Deletable<PriorityQueueImpl>
public class PriorityQueueImpl extends OutOfOrderQueue<PriorityQueueImpl> implements PriorityQueue<PriorityQueueImpl>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.qpid.server.queue.AbstractQueue
AbstractQueue.QueueEntryFilter
-
Nested classes/interfaces inherited from class org.apache.qpid.server.model.AbstractConfiguredObject
AbstractConfiguredObject.CallableWithArgument<V,A>, AbstractConfiguredObject.ChainedListenableFuture<V>, AbstractConfiguredObject.ChainedSettableFuture<V>, AbstractConfiguredObject.DuplicateIdException, AbstractConfiguredObject.DuplicateNameException
-
Nested classes/interfaces inherited from interface org.apache.qpid.server.message.MessageSource
MessageSource.ConsumerAccessRefused, MessageSource.ExistingConsumerPreventsExclusive, MessageSource.ExistingExclusiveConsumer, MessageSource.MessageConversionExceptionHandlingPolicy, MessageSource.QueueDeleted
-
Nested classes/interfaces inherited from interface org.apache.qpid.server.model.Queue
Queue.BehaviourOnUnknownDeclareArgument, Queue.ExpiryPolicy
-
-
Field Summary
-
Fields inherited from class org.apache.qpid.server.model.AbstractConfiguredObject
SECURED_STRING_VALUE
-
Fields inherited from interface org.apache.qpid.server.model.ConfiguredObject
AWAIT_ATTAINMENT_TIMEOUT, CONTEXT, CREATED_BY, CREATED_TIME, DEFAULT_AWAIT_ATTAINMENT_TIMEOUT, DESCRIPTION, DESIRED_STATE, DURABLE, ID, LAST_UPDATED_BY, LAST_UPDATED_TIME, LIFETIME_POLICY, NAME, OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT, STATE, TYPE
-
Fields inherited from interface org.apache.qpid.server.queue.PriorityQueue
DEFAULT_PRIORITY_LEVELS, PRIORITIES
-
Fields inherited from interface org.apache.qpid.server.model.Queue
ALERT_REPEAT_GAP, ALERT_THRESHOLD_MESSAGE_AGE, ALERT_THRESHOLD_MESSAGE_SIZE, ALERT_THRESHOLD_QUEUE_DEPTH_BYTES, ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, ALTERNATE_BINDING, CLASS_DESCRIPTION, CREATING_LINK_INFO, DEFAULT_ALERT_REPEAT_GAP, DEFAULT_ALERT_THRESHOLD_MESSAGE_AGE, DEFAULT_ALERT_THRESHOLD_MESSAGE_COUNT, DEFAULT_ALERT_THRESHOLD_MESSAGE_SIZE, DEFAULT_ALERT_THRESHOLD_QUEUE_DEPTH, DEFAULT_ALTERNATE_BINDING, DEFAULT_ENSURE_NON_DESTRUCTIVE_CONSUMERS, DEFAULT_EXCLUSIVITY, DEFAULT_EXPIRY_POLICY, DEFAULT_FILTERS, DEFAULT_FLOW_CONTROL_RESUME_LIMIT, DEFAULT_HOLD_ON_PUBLISH_ENABLED, DEFAULT_MAXIMUM_DELIVERY_ATTEMPTS, DEFAULT_MAXIMUM_DISTINCT_GROUPS, DEFAULT_MAXIMUM_LIVE_CONSUMERS, DEFAULT_MAXIMUM_MESSAGE_TTL, DEFAULT_MAXIMUM_QUEUE_DEPTH_BYTES, DEFAULT_MAXIMUM_QUEUE_DEPTH_MESSAGES, DEFAULT_MESSAGE_CONVERSION_EXCEPTION_HANDLING_POLICY, DEFAULT_MESSAGE_DURABILTY, DEFAULT_MESSAGE_GROUP_TYPE, DEFAULT_MIME_TYPE_TO_FILE_EXTENSION, DEFAULT_MINIMUM_MESSAGE_TTL, DEFAULT_OVERFLOW_POLICY, DEFAULT_QUEUE_SCAVANGE_COUNT, DEFAULT_SHARED_MESSAGE_GROUP, ENSURE_NONDESTRUCTIVE_CONSUMERS, EXCLUSIVE, EXPIRY_POLICY, HOLD_ON_PUBLISH_ENABLED, MAXIMUM_DELIVERY_ATTEMPTS, MAXIMUM_LIVE_CONSUMERS, MAXIMUM_MESSAGE_TTL, MAXIMUM_QUEUE_DEPTH_BYTES, MAXIMUM_QUEUE_DEPTH_MESSAGES, MESSAGE_CONVERSION_EXCEPTION_HANDLING_POLICY, MESSAGE_DURABILITY, MESSAGE_GROUP_DEFAULT_GROUP, MESSAGE_GROUP_KEY_OVERRIDE, MESSAGE_GROUP_TYPE, MIME_TYPE_TO_FILE_EXTENSION, MINIMUM_MESSAGE_TTL, NO_LOCAL, ON_UNKNOWN_QUEUE_DECLARE_OPTION, OVERFLOW_POLICY, OWNER, QUEUE_DEFAULT_ALTERNATE_BINDING, QUEUE_DEFAULT_EXCLUSIVITY_POLICY, QUEUE_FLOW_RESUME_LIMIT, QUEUE_FLOW_STOPPED, QUEUE_SCAVANGE_COUNT, UNKNOWN_QUEUE_DECLARE_ARGUMENT_BEHAVIOUR_NAME
-
-
Constructor Summary
Constructors Constructor Description PriorityQueueImpl(Map<String,Object> attributes, QueueManagingVirtualHost<?> virtualHost)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getPriorities()
protected void
onOpen()
long
reenqueueMessageForPriorityChange(long messageId, int newPriority)
Re-enqueue the message with given id as a new message with priority changed to specified one.List<Long>
reenqueueMessagesForPriorityChange(String selector, int newPriority)
Re-enqueue the messages matching given selector expression as a new messages having priority changed to specified one.-
Methods inherited from class org.apache.qpid.server.queue.OutOfOrderQueue
checkConsumersNotAheadOfDelivery
-
Methods inherited from class org.apache.qpid.server.queue.AbstractQueue
addConsumer, addDeleteTask, addReference, authorisePublish, beforeClose, changeAttributes, checkCapacity, checkMessageStatus, checkValid, clearQueue, close, compareTo, completeRecovery, copyMessages, deleteAndReturnCount, deleteAndReturnCountAsync, deleteEntry, deleteMessages, doEnqueue, enqueue, getAddressSpace, getAlertRepeatGap, getAlertThresholdMessageAge, getAlertThresholdMessageSize, getAlertThresholdQueueDepthBytes, getAlertThresholdQueueDepthMessages, getAlternateBinding, getAlternateBindingDestination, getAvailableAttributes, getAvailableBytes, getAvailableBytesHighWatermark, getAvailableMessages, getAvailableMessagesHighWatermark, getBindingCount, getChildren, getConsumerCount, getConsumerCountWithCredit, getConsumers, getCreatingLinkInfo, getDefaultFilters, getEventLogger, getExclusive, getExpiryPolicy, getLeastSignificantOldestEntry, getLogSubject, getMaximumDeliveryAttempts, getMaximumDistinctGroups, getMaximumLiveConsumers, getMaximumMessageTtl, getMaximumQueueDepthBytes, getMaximumQueueDepthMessages, getMessageContent, getMessageConversionExceptionHandlingPolicy, getMessageDurability, getMessageGroupDefaultGroup, getMessageGroupKeyOverride, getMessageGroupType, getMessageInfo, getMessageInfoById, getMessageOnTheQueue, getMessagesOnTheQueue, getMinimumMessageTtl, getNotificationChecks, getOldestMessageAge, getOldestMessageArrivalTime, getOverflowPolicy, getOwner, getPersistentDequeuedBytes, getPersistentDequeuedMessages, getPersistentEnqueuedBytes, getPersistentEnqueuedMessages, getProducerCount, getPublishingLinks, getQueueConsumerManager, getQueueDepthBytes, getQueueDepthBytesHighWatermark, getQueueDepthMessages, getQueueDepthMessagesHighWatermark, getTotalDequeuedBytes, getTotalDequeuedMessages, getTotalEnqueuedBytes, getTotalEnqueuedMessages, getTotalExpiredBytes, getTotalExpiredMessages, getTotalMalformedBytes, getTotalMalformedMessages, getUnacknowledgedBytes, getUnacknowledgedMessages, getVirtualHost, isDeleted, isEmpty, isEnsureNondestructiveConsumers, isEntryAheadOfConsumer, isExclusive, isHeld, isHoldOnPublishEnabled, isNoLocal, isQueueFlowStopped, isUnused, linkAdded, linkRemoved, logCreated, logDeleted, logOperation, logRecovered, logUpdated, moveMessages, onClose, onCreate, onDelete, onValidate, queueEntryIterator, reallocateMessages, recover, registerTransaction, removeDeleteTask, removeReference, requeue, resetStatistics, resetSubPointersForGroups, resetSubPointersForGroups, route, setAlternateBinding, setNotificationListener, toString, unregisterTransaction, validateChange, validateOnCreate, verifySessionAccess, visit
-
Methods inherited from class org.apache.qpid.server.model.AbstractConfiguredObject
addChangeListener, addChildAsync, addFutureCallback, applyToChildren, asObjectRecord, attainState, attributesAsString, attributeSet, authorise, authorise, authorise, authoriseCreateChild, awaitChildClassToAttainState, awaitChildClassToAttainState, beforeDelete, childAdded, childRemoved, closeAsync, closeChildren, create, createAsync, createChild, createChildAsync, decryptSecrets, delete, deleteAsync, deleteChildren, deleteNoChecks, doAfter, doAfter, doAfter, doAfter, doAfter, doAfter, doAfterAlways, doAfterAlways, doCreation, doOnConfigThread, doOpening, doResolution, doSync, doSync, doValidation, findConfiguredObject, forceUpdateAllSecureAttributes, getAccessControl, getActualAttributes, getAncestor, getAttainedChildById, getAttainedChildByName, getAttribute, getAttributeNames, getCategoryClass, getChildById, getChildByName, getChildExecutor, getContext, getContextKeys, getContextValue, getContextValue, getCreatedBy, getCreatedTime, getDescription, getDesiredState, getId, getLastOpenedTime, getLastUpdatedBy, getLastUpdatedTime, getLifetimePolicy, getModel, getName, getObjectFactory, getParent, getState, getStatistics, getStatistics, getSubjectWithAddedSystemRights, getSystemPrincipal, getSystemTaskControllerContext, getSystemTaskSubject, getSystemTaskSubject, getTaskExecutor, getType, getTypeClass, getUserPreferences, handleExceptionOnOpen, hasEncrypter, isDurable, isSystemProcess, isSystemSubject, managesChildStorage, newToken, notifyStateChanged, onExceptionInOpen, onResolve, open, openAsync, postResolve, postResolveChildren, postSetAttributes, registerWithParents, removeChangeListener, removeContextVariable, rethrowRuntimeExceptionsOnOpen, runTask, setAttributes, setAttributesAsync, setContextVariable, setEncrypter, setState, setUserPreferences, start, startAsync, stop, updateModel, validateChildDelete
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.lang.Comparable
compareTo
-
Methods inherited from interface org.apache.qpid.server.model.ConfiguredObject
addChangeListener, asObjectRecord, authorise, authorise, authorise, close, closeAsync, createChild, createChildAsync, decryptSecrets, delete, deleteAsync, findConfiguredObject, getActualAttributes, getAttainedChildById, getAttainedChildByName, getAttribute, getAttributeNames, getCategoryClass, getChildById, getChildByName, getChildExecutor, getChildren, getContext, getCreatedBy, getCreatedTime, getDescription, getDesiredState, getId, getLastOpenedTime, getLastUpdatedBy, getLastUpdatedTime, getLifetimePolicy, getModel, getName, getObjectFactory, getParent, getState, getStatistics, getStatistics, getType, getTypeClass, getUserPreferences, hasEncrypter, isDurable, managesChildStorage, newToken, open, openAsync, removeChangeListener, removeContextVariable, setAttributes, setAttributesAsync, setContextVariable, setUserPreferences
-
Methods inherited from interface org.apache.qpid.server.model.ContextProvider
getContextKeys, getContextValue, getContextValue
-
Methods inherited from interface org.apache.qpid.server.util.Deletable
addDeleteTask, removeDeleteTask
-
Methods inherited from interface org.apache.qpid.server.message.MessageDestination
addReference, authorisePublish, getAddressSpace, getAlternateBindingDestination, getName, isDurable, linkAdded, linkRemoved, removeReference, route
-
Methods inherited from interface org.apache.qpid.server.message.MessageSource
addConsumer, close, verifySessionAccess
-
Methods inherited from interface org.apache.qpid.server.model.Queue
checkCapacity, checkMessageStatus, checkValid, clearQueue, completeRecovery, copyMessages, deleteAndReturnCount, deleteAndReturnCountAsync, deleteEntry, deleteMessages, getAlertRepeatGap, getAlertThresholdMessageAge, getAlertThresholdMessageSize, getAlertThresholdQueueDepthBytes, getAlertThresholdQueueDepthMessages, getAlternateBinding, getAvailableAttributes, getAvailableBytes, getAvailableBytesHighWatermark, getAvailableMessages, getAvailableMessagesHighWatermark, getBindingCount, getConsumerCount, getConsumerCountWithCredit, getConsumers, getCreatingLinkInfo, getDefaultFilters, getExclusive, getExpiryPolicy, getLeastSignificantOldestEntry, getLogSubject, getMaximumDeliveryAttempts, getMaximumDistinctGroups, getMaximumLiveConsumers, getMaximumMessageTtl, getMaximumQueueDepthBytes, getMaximumQueueDepthMessages, getMessageContent, getMessageConversionExceptionHandlingPolicy, getMessageDurability, getMessageGroupDefaultGroup, getMessageGroupKeyOverride, getMessageGroupType, getMessageInfo, getMessageInfoById, getMessageOnTheQueue, getMessagesOnTheQueue, getMinimumMessageTtl, getNotificationChecks, getOldestMessageAge, getOldestMessageArrivalTime, getOverflowPolicy, getOwner, getPersistentDequeuedBytes, getPersistentDequeuedMessages, getPersistentEnqueuedBytes, getPersistentEnqueuedMessages, getProducerCount, getPublishingLinks, getQueueDepthBytes, getQueueDepthBytesHighWatermark, getQueueDepthMessages, getQueueDepthMessagesHighWatermark, getTotalDequeuedBytes, getTotalDequeuedMessages, getTotalEnqueuedBytes, getTotalEnqueuedMessages, getTotalExpiredBytes, getTotalExpiredMessages, getTotalMalformedBytes, getTotalMalformedMessages, getUnacknowledgedBytes, getUnacknowledgedMessages, getVirtualHost, isEmpty, isEnsureNondestructiveConsumers, isExclusive, isHeld, isHoldOnPublishEnabled, isNoLocal, isQueueFlowStopped, isUnused, moveMessages, queueEntryIterator, reallocateMessages, recover, requeue, resetStatistics, setNotificationListener, visit
-
Methods inherited from interface org.apache.qpid.server.model.TaskExecutorProvider
getTaskExecutor
-
Methods inherited from interface org.apache.qpid.server.store.TransactionLogResource
getId, getName
-
-
-
-
Constructor Detail
-
PriorityQueueImpl
public PriorityQueueImpl(Map<String,Object> attributes, QueueManagingVirtualHost<?> virtualHost)
-
-
Method Detail
-
onOpen
protected void onOpen()
- Overrides:
onOpen
in classAbstractQueue<PriorityQueueImpl>
-
getPriorities
public int getPriorities()
- Specified by:
getPriorities
in interfacePriorityQueue<PriorityQueueImpl>
-
reenqueueMessageForPriorityChange
public long reenqueueMessageForPriorityChange(long messageId, int newPriority)
Description copied from interface:PriorityQueue
Re-enqueue the message with given id as a new message with priority changed to specified one.
The operation results in a deletion of original message and creation of new message which is a copy of original one except for different message id and priority.- Specified by:
reenqueueMessageForPriorityChange
in interfacePriorityQueue<PriorityQueueImpl>
- Parameters:
messageId
- message idnewPriority
- new priority- Returns:
- new message id, or -1 if message is not found or priority is not changed
-
reenqueueMessagesForPriorityChange
public List<Long> reenqueueMessagesForPriorityChange(String selector, int newPriority)
Description copied from interface:PriorityQueue
Re-enqueue the messages matching given selector expression as a new messages having priority changed to specified one.
Usingnull
or an empty filter will change all messages from this queue.
The operation results in a deletion of original messages and creation of new messages having the same properties and content as original ones except for different message id and priority.- Specified by:
reenqueueMessagesForPriorityChange
in interfacePriorityQueue<PriorityQueueImpl>
- Parameters:
selector
- selector expressionnewPriority
- new priority- Returns:
- the list containing ids of re-enqueed message s
-
-