JBoss Community

consume message inside a QueueBrowser loop

created by everson . in JBoss Messaging - View the full discussion

I would like after do something consume/delete/take out the message from queue, but I can't ....

I have  4 messages on queue and I want consume just one

 

QueueConnectionFactory factory = (QueueConnectionFactory) getInitialContext().lookup("/ConnectionFactory");//java:/ConnectionFactory

            Queue queue = (Queue) getInitialContext().lookup("queue/MyQueue");

            connection  = factory.createQueueConnection();

            session = connection.createQueueSession(false, QueueSession.AUTO_ACKNOWLEDGE);

            QueueBrowser queueBrowser = session.createBrowser(queue);

           

            Enumeration<ObjectMessage> messages = queueBrowser.getEnumeration();

            while (messages.hasMoreElements()) {

                ObjectMessage objectMessage = (ObjectMessage) messages.nextElement();

                Person p = (Person) objectMessage.getObject();

                System.err.println(p.getId());               

                //do something....

                //* after do something take out the message from queue

            }

 

* I tried code below, but i got error

QueueReceiver receiver = session.createReceiver(queue, "JMSMessageID="+objectMessage.getJMSMessageID());

MessageConsumer consumer = session.createConsumer(queue, "JMSMessageID="+objectMessage.getJMSMessageID());

Reply to this message by going to Community

Start a new discussion in JBoss Messaging at Community