diff options
author | Robert Godfrey <rgodfrey@apache.org> | 2012-11-28 09:03:46 +0000 |
---|---|---|
committer | Robert Godfrey <rgodfrey@apache.org> | 2012-11-28 09:03:46 +0000 |
commit | b52e9f5e55b16da425a7cb5de1e6dad30db78557 (patch) | |
tree | 4fe66e339bc17993be25206f0007ece35f31531b | |
parent | 04a473dce165cd1dfee358e8d0e99098eaffa378 (diff) | |
download | qpid-python-b52e9f5e55b16da425a7cb5de1e6dad30db78557.tar.gz |
QPID-4455 : Queue browsers were not returning jms messages
merge from trunk r1412280
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.20@1414597 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java index 914ec4bd0f..75003c0d77 100644 --- a/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java +++ b/qpid/java/amqp-1-0-client-jms/src/main/java/org/apache/qpid/amqp_1_0/jms/impl/QueueBrowserImpl.java @@ -90,10 +90,10 @@ public class QueueBrowserImpl implements QueueBrowser }
}
- private final class MessageEnumeration implements Enumeration<Message>
+ private final class MessageEnumeration implements Enumeration<MessageImpl>
{
private Receiver _receiver;
- private Message _nextElement;
+ private MessageImpl _nextElement;
private boolean _needNext = true;
MessageEnumeration() throws JMSException
@@ -141,13 +141,13 @@ public class QueueBrowserImpl implements QueueBrowser if( _needNext )
{
_needNext = false;
- _nextElement = _receiver.receive(0L);
+ _nextElement = createJMSMessage(_receiver.receive(0L));
if( _nextElement == null )
{
// Drain to verify there really are no more messages.
_receiver.drain();
_receiver.drainWait();
- _nextElement = _receiver.receive(0L);
+ _nextElement = createJMSMessage(_receiver.receive(0L));
if( _nextElement == null )
{
close();
@@ -163,11 +163,11 @@ public class QueueBrowserImpl implements QueueBrowser }
@Override
- public Message nextElement()
+ public MessageImpl nextElement()
{
if( hasMoreElements() )
{
- Message message = _nextElement;
+ MessageImpl message = _nextElement;
_nextElement = null;
_needNext = true;
return message;
@@ -178,4 +178,20 @@ public class QueueBrowserImpl implements QueueBrowser }
}
}
+
+ MessageImpl createJMSMessage(final Message msg)
+ {
+ if(msg != null)
+ {
+ final MessageImpl message = _session.getMessageFactory().createMessage(_queue, msg);
+ message.setFromQueue(true);
+ message.setFromTopic(false);
+ return message;
+ }
+ else
+ {
+ return null;
+ }
+ }
+
}
|