Yelei If DEFAULTWAITTIME expires then you will break out of your loop and not receive any messages unless you restart.
Clark www.ttmsolutions.com ActiveMQ reference guide at http://bit.ly/AMQRefGuide savagre wrote: > > Hello guys, > > I've got a strange problem related to reading multiple messages from the > queue. > I have the following java logic to retrieve multiple messages defined by > variable "numberOfMessages": > > Connection qConn=qFactory.createConnection(); > qConn.start(); > Session qSession=qConn.createSession(false, > QueueSession.AUTO_ACKNOWLEDGE); > Destination queue=qSession.createQueue(qName); > MessageConsumer qReader=qSession.createConsumer(queue); > TextMessage qMessage=null; > for(i=1;i<=numberOfMessages;++i){ > qMessage=(TextMessage)qReader.receive(DEFAULTWAITTIME); > if(qMessage!=null){ > // add qMessage to some storage > }else{ > break; > } > } > qReader.close(); > qSession.close(); > qConn.close(); > > It works for a while; after that the logic is not able to retrieve any > text message from the queue. > The queue is not empty, but the qReader always returns null value, even > after I increased reading timeout. > If I restart ActiveMQ server, the above piece of code would work again. > Is there anybody who knows what happened to the code? Do I need to close > the MessageConsumer everytime I get a message? > Thanks. > > Yelei > > -- View this message in context: http://old.nabble.com/problem-related-to-reading-multiple-messages-from-the-queue-tp29045640p29048040.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.