diff options
| author | Martin Ritchie <ritchiem@apache.org> | 2009-08-06 09:23:55 +0000 |
|---|---|---|
| committer | Martin Ritchie <ritchiem@apache.org> | 2009-08-06 09:23:55 +0000 |
| commit | 8dd5f83bc7dd0e099627f20c62afa050af0e6335 (patch) | |
| tree | 391b724bae85770a14137108ebfd08da8b79f215 /qpid/java | |
| parent | d38e7ac90ec1513dde9b8eafbfc893f3b7a4a4db (diff) | |
| download | qpid-python-8dd5f83bc7dd0e099627f20c62afa050af0e6335.tar.gz | |
QPID-2002 : Add Queue Creation logging
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@801557 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java | 49 |
1 files changed, 38 insertions, 11 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java index 8c66508307..47a0a1d830 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java @@ -29,6 +29,10 @@ import org.apache.qpid.server.store.StoreContext; import org.apache.qpid.server.subscription.Subscription; import org.apache.qpid.server.subscription.SubscriptionList; import org.apache.qpid.server.virtualhost.VirtualHost; +import org.apache.qpid.server.logging.actors.CurrentActor; +import org.apache.qpid.server.logging.subjects.QueueLogSubject; +import org.apache.qpid.server.logging.LogSubject; +import org.apache.qpid.server.logging.messages.QueueMessages; /* * @@ -113,6 +117,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener private AtomicReference _asynchronousRunner = new AtomicReference(null); private AtomicInteger _deliveredMessages = new AtomicInteger(); private AtomicBoolean _stopped = new AtomicBoolean(false); + private LogSubject _logSubject; protected SimpleAMQQueue(AMQShortString name, boolean durable, AMQShortString owner, boolean autoDelete, VirtualHost virtualHost) throws AMQException @@ -148,6 +153,28 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener _asyncDelivery = ReferenceCountingExecutorService.getInstance().acquireExecutorService(); + _logSubject = new QueueLogSubject(this); + + // Log the correct creation message + + // Extract the number of priorities for this Queue. + // Leave it as 0 if we are a SimpleQueueEntryList + int priorities = 0; + if (entryListFactory instanceof PriorityQueueList) + { + PriorityQueueList priorityFactory = (PriorityQueueList) entryListFactory; + priorities = priorityFactory.getPriorities(); + } + + // Log the creation of this Queue. + // The priorities display is toggled on if we set priorities > 0 + CurrentActor.get().message(_logSubject, + QueueMessages.QUE_1001(String.valueOf(_owner), + priorities, + autoDelete, + durable, !durable, + priorities > 0)); + try { _managedObject = new AMQQueueMBean(this); @@ -429,7 +456,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener } _managedObject.checkForNotification(entry.getMessage()); - + return entry; } @@ -823,11 +850,11 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener return entryList; } - + /** * Returns a list of QueEntries from a given range of queue positions, eg messages 5 to 10 on the queue. - * - * The 'queue position' index starts from 1. Using 0 in 'from' will be ignored and continue from 1. + * + * The 'queue position' index starts from 1. Using 0 in 'from' will be ignored and continue from 1. * Using 0 in the 'to' field will return an empty list regardless of the 'from' value. * @param fromPosition * @param toPosition @@ -836,7 +863,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener public List<QueueEntry> getMessagesRangeOnTheQueue(final long fromPosition, final long toPosition) { List<QueueEntry> queueEntries = new ArrayList<QueueEntry>(); - + QueueEntryIterator it = _entries.iterator(); long index = 1; @@ -844,20 +871,20 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener { it.advance(); } - + if(index < fromPosition) { //The queue does not contain enough entries to reach our range. //return the empty list. return queueEntries; } - + for ( ; index <= toPosition && !it.atTail(); index++) { it.advance(); queueEntries.add(it.getNode()); } - + return queueEntries; } @@ -1244,7 +1271,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener while (!sub.isSuspended() && !atTail && iterations != 0) { - try + try { sub.getSendLock(); atTail = attemptDelivery(sub); @@ -1479,8 +1506,8 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener if (!node.isDeleted() && node.expired() && node.acquire()) { node.discard(storeContext); - } - else + } + else { _managedObject.checkForNotification(node.getMessage()); } |
