thanks,
I resolved my problem with this:
Message receiverMsg;
for (int i = 0; i < msgList.size(); i++) {
// I delete messages that I select by queueBrowser
receiverMsg =
groupMsgQueueManager.getQueueReceiver().receive();
if
(receiverMsg.getJMSMessageID().equals(msgList.get(i).getJMSMessageID())){
receiverMsg.acknowledge();
}
}
Adrian Co wrote:
>
> Hi,
>
> I don't think you can remove a message from a queue using a queue
> browser. You'd generally use a queue receiver for that.
>
> zizou77 wrote:
>> Hi,
>>
>> I use a queueBrowser with a selector in my program. So I get some
>> Message.
>> But when I use message's acknowledge method, messages are still in the
>> queue. Why?
>> I use Session.CLIENT_ACKNOWLEDGE, but i've got the same problem with
>> Session.AUTO_ACKNOWLEDGE.
>>
>> This a part of my program:
>>
>> public void run() {
>> ActiveMQConnectionFactory factory = new
>> ActiveMQConnectionFactory(broker);
>>
>> try {
>> QueueConnection connexion = factory.createQueueConnection();
>> connexion.start();
>> QueueSession session = connexion.createQueueSession(false,
>> Session.CLIENT_ACKNOWLEDGE);
>> Queue groupMsgQueueReceiver = session.createQueue(queueIn);
>> QueueReceiver queueReceiver =
>> session.createReceiver(groupMsgQueueReceiver);
>> Queue groupMsgQueueSender = session.createQueue(queueOut);
>> QueueSender queueSender =
>> session.createSender(groupMsgQueueSender);
>> } catch (JMSException e) {
>> e.printStackTrace();
>> }
>> }
>>
>> //lookForGroupDocuments is a method started by a job scheduler quartz
>> private void lookForGroupDocuments()
>> {
>>
>> QueueBrowser queueBrowser = session.createBrowser(queue, selector);
>> Enumeration enumeration;
>> List<Message> messageDocumentsList = new ArrayList();
>> enumeration = queueBrowser.getEnumeration();
>> while (enumeration.hasMoreElements()) {
>> Message message = (Message) enumeration.nextElement();
>> messageDocumentsList.add(message);
>> }
>>
>> ........
>>
>> then i do:
>>
>> for (int i = 0; i < messageDocumentsList.size(); i++) {
>> messageDocumentsList.get(i).acknowledge();
>> }
>>
>>
>
>
>
--
View this message in context:
http://www.nabble.com/QueueBrowser-acknowledge-tf2689843.html#a7519967
Sent from the ActiveMQ - User mailing list archive at Nabble.com.