summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src/main
diff options
context:
space:
mode:
authorAidan Skinner <aidan@apache.org>2008-08-08 10:31:26 +0000
committerAidan Skinner <aidan@apache.org>2008-08-08 10:31:26 +0000
commitf52882c8db0bccb18e9b1ccaea7ac2824f10c423 (patch)
treea7fbf17a29dc3c740b1d27594388eaf6b2844ad9 /qpid/java/broker/src/main
parent51722eb107f9cb462fa32cac05871b08c69e6c8e (diff)
downloadqpid-python-f52882c8db0bccb18e9b1ccaea7ac2824f10c423.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@683932 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src/main')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java4
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java22
2 files changed, 26 insertions, 0 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
index f7bc2ddafa..c9c252f06d 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
+++ b/qpid/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/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 1674c26232..b0f700d4a1 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
@@ -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