Try giving a brief moment between creating your consumers and the call to
receiveNoWait():

            MessageConsumer consumer =
                    session.createConsumer(queue, "JMSMessageID='" +
jmsMessageID + "'");
            Message message = null;
            Thread.sleep(500);
            while ((message = consumer.receiveNoWait()) != null) {
                System.out.println("Consumed > " + message);
            }

Alternatively, use consumer.receive(500)


On Tue, Jul 16, 2013 at 11:10 AM, Leonardo K. Shikida <shik...@gmail.com>wrote:

> Hi
>
> I am trying to remove (consume) a message from the queue, without success.
>
> Here's my code and the output
>
> public boolean remove(String jmsMessageID) throws JMSException{
>
> boolean messageConsumed = false;
>
> Connection connection = null;
> Session session = null;
> try {
> ConnectionFactory connectionFactory =
> this.baseService.getConnectionFactory();
> connection = connectionFactory.createConnection();
> connection.start();
>
> // Create a Session
> session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
>
> QueueBrowser browser = session.createBrowser(this.baseService.getQueue());
>    Enumeration<?> messagesInQueue = browser.getEnumeration();
>
>    while (messagesInQueue.hasMoreElements()) {
>     Message queueMessage = (Message) messagesInQueue.nextElement();
>     System.out.println("Enqueued > "+queueMessage.getJMSMessageID());
>    }
>
>    System.out.println("Trying to delete > "+jmsMessageID);
>
> Queue queue = this.baseService.getQueue();
> MessageConsumer consumer =
> session.createConsumer(queue,"JMSMessageID='"+jmsMessageID+"'");
> Message message = null;
> while((message = consumer.receiveNoWait()) != null){
> System.out.println("Consumed > "+message);
> messageConsumed = true;
> }
>
> } finally {
> if (session != null)
> session.close();
> if (connection != null)
> connection.close();
> }
>
> return messageConsumed;
> }
>
> >>>>>>>
>
> Enqueued          >
> ID:7612866413.mydomain.com-58510-1373986917055-5:1:35:1:1
> Enqueued          >
> ID:7612866413.mydomain.com-58510-1373986917055-5:1:61:1:1
> Enqueued          >
> ID:7612866413.mydomain.com-58510-1373986917055-5:1:63:1:1
> Trying to delete  >
> ID:7612866413.mydomain.com-58510-1373986917055-5:1:63:1:1
>
> (never enter into System.out.println("Consumed > "+message);)
>
> Am I missing something here?
>
> []
>
> Leo
>



-- 
*Christian Posta*
http://www.christianposta.com/blog
twitter: @christianposta

Reply via email to