summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2012-11-28 09:03:46 +0000
committerRobert Godfrey <rgodfrey@apache.org>2012-11-28 09:03:46 +0000
commitb52e9f5e55b16da425a7cb5de1e6dad30db78557 (patch)
tree4fe66e339bc17993be25206f0007ece35f31531b
parent04a473dce165cd1dfee358e8d0e99098eaffa378 (diff)
downloadqpid-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.java28
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;
+ }
+ }
+
}