diff options
| author | Aidan Skinner <aidan@apache.org> | 2008-08-08 10:31:26 +0000 |
|---|---|---|
| committer | Aidan Skinner <aidan@apache.org> | 2008-08-08 10:31:26 +0000 |
| commit | ea3c6610750f8659233aec3be65279e16f3264d9 (patch) | |
| tree | 4f71e4b0ed364799a9fa0479eef0788dd0ef8b00 /java/broker/src/main | |
| parent | f16bebd4cc0380d83c1f66dff9db10cad2f9854e (diff) | |
| download | qpid-python-ea3c6610750f8659233aec3be65279e16f3264d9.tar.gz | |
QPID-1224: add methods to get the list of message ids from a queue, with optional offset. Test class for this.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@683932 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker/src/main')
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java | 4 | ||||
| -rw-r--r-- | java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java | 22 |
2 files changed, 26 insertions, 0 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java index f7bc2ddafa..c9c252f06d 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java @@ -104,6 +104,10 @@ public interface AMQQueue extends Managable, Comparable<AMQQueue> List<QueueEntry> getMessagesOnTheQueue(long fromMessageId, long toMessageId); + List<Long> getMessagesOnTheQueue(int num); + + List<Long> getMessagesOnTheQueue(int num, int offest); + QueueEntry getMessageOnTheQueue(long messageId); diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java index 1674c26232..b0f700d4a1 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java +++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java @@ -1613,4 +1613,26 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener deliverAsync(_sub); } } + + public List<Long> getMessagesOnTheQueue(int num) + { + return getMessagesOnTheQueue(num, 0); + } + + public List<Long> getMessagesOnTheQueue(int num, int offset) + { + ArrayList<Long> ids = new ArrayList<Long>(num); + QueueEntryIterator it = _entries.iterator(); + for (int i = 0; i < offset; i++) + { + it.advance(); + } + + for (int i = 0; i < num && !it.atTail(); i++) + { + it.advance(); + ids.add(it.getNode().getMessage().getMessageId()); + } + return ids; + } }
\ No newline at end of file |
