qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Godfrey <rob.j.godf...@gmail.com>
Subject Re: Duplating Messages
Date Fri, 27 Apr 2012 12:37:50 GMT
On 27 April 2012 14:31,  <m.luchak@smartasking.com> wrote:
>
> Hi Rob,
>
> hmmm... Still not consuming messages here..
>
>
>  MessageConsumer acker= (MessageConsumer) session.createConsumer(queue);  // consumes
all messages on queue
>  MessageConsumer  acker = (MessageConsumer) session.createConsumer(queue, "Id=11977");
// returns selected message but does not consume
>
>
> Fraser mentioned the same problem.  Is there something that we are missing?
>
> thanks,
> Matthew
>

So - how are you determining that the message is not being removed...

My test did the following:

create three connections, one for publishing and two for receiving.
Send 10 messages on the publishing connection and then close.
On each of the two consuming connections create a JMS Queuebrowser and
verify that I can browse and see all 10 messages.
On one of the consuming sessions now create a consumer with a
selector, call receive() to get one message.
Now create a new browser and verify I see only 9 messages (and the one
that is missing is the one I selected and consumed).

This worked both with using the integer property and the JMSMessageId,
using the Java Client and Java Broker.

Cheers,
Rob

> -----Original Message-----
> From: "Rob Godfrey" <rob.j.godfrey@gmail.com>
> Sent: Friday, April 27, 2012 4:59am
> To: users@qpid.apache.org
> Subject: Re: Duplating Messages
>
>
>
> OK - I've looked this morning and I am also seeing an issue with
> pulling back based on JMSMessageID - but this may be my error -I've
> not looked closely yet.
>
> If I use a selector based on the message property than it behaves as
> expected, and the consumer consumes the message, meaning next time I
> browse there is one less message on the queue.
>
> -- Rob
>
> On 26 April 2012 23:32,  <m.luchak@smartasking.com> wrote:
>>
>> Eessh... bordering on spam...
>>
>> ok... got the selector pulling selected messages by:
>>
>> producer -> m.setIntProperty("Id", 444444444);
>>
>> consumer -> MessageConsumer acker = (MessageConsumer) session.createConsumer(ack,"Id=444444444");
>>
>> -----Original Message-----
>> From: m.luchak@smartasking.com
>> Sent: Thursday, April 26, 2012 5:17pm
>> To: users@qpid.apache.org
>> Subject: Re: Duplating Messages
>>
>>
>>
>> Just some more detailed info (tried messageID as this is being returned by the logs).
 Any help greatly appreciated..
>>
>> LOG:
>>
>> main 2012-04-26 18:13:09,728 DEBUG [apache.qpid.transport.Connection] SEND: [conn:10ea9ba]
ch=0 id=9 MessageSubscribe(queue=test_queue, destination=2, acceptMode=EXPLICIT, acquireMode=NOT_ACQUIRED,
resumeTtl=0, arguments={x-filter-jms-selector=messageId=8165b87f-8e8e-3e97-991f-51b5e45fefab})
>>
>>
>> IoReceiver - localhost/127.0.0.1:5672 2012-04-26 18:13:09,758 DEBUG [apache.qpid.transport.Session]
ID: [0] 4
>> IoReceiver - localhost/127.0.0.1:5672 2012-04-26 18:13:09,758 DEBUG [apache.qpid.client.AMQSession]
Message[org.apache.qpid.client.message.UnprocessedMessage_0_10@b1cd0] received in session
>> IoReceiver - localhost/127.0.0.1:5672 2012-04-26 18:13:09,760 DEBUG [apache.qpid.transport.Connection]
RECV: [conn:10ea9ba] ch=0 MessageTransfer(destination=1, acceptMode=EXPLICIT, acquireMode=NOT_ACQUIRED)
>> MessageProperties(contentLength=435, messageId=8165b87f-8e8e-3e97-991f-51b5e45fefab,
contentType=amqp/map, userId=[B@190a0d6, applicationHeaders={price=0.99, name=Widget, Id=444444444})
>> DeliveryProperties(priority=MEDIUM, deliveryMode=PERSISTENT, timestamp=1335469525112,
exchange=, routingKey=test_queue)
>>
>>
>> -----Original Message-----
>> From: m.luchak@smartasking.com
>> Sent: Thursday, April 26, 2012 4:56pm
>> To: users@qpid.apache.org
>> Subject: Re: Duplating Messages
>>
>>
>>
>> hey.. me again ;)
>>
>> not sure if I'm doing this right... creating a consumer with JMSMessageID as a selector
but it's not returning the message even though this message does exist (checked 5 times ;).
>>
>> code:
>> MessageConsumer acker = (MessageConsumer) session.createConsumer(ack,"JMSMessageID=8165b87f-8e8e-3e97-991f-51b5e45fefab");
>>
>> MapMessage m = (MapMessage)acker.receive();
>>
>> LOG:
>> main 2012-04-26 17:51:23,901 DEBUG [apache.qpid.filter.JMSSelectorFilter] Created
JMSSelectorFilter with selector:JMSMessageID=8165b87f-8e8e-3e97-991f-51b5e45fefab
>>
>> -----Original Message-----
>> From: "Gordon Sim" <gsim@redhat.com>
>> Sent: Thursday, April 26, 2012 3:02pm
>> To: users@qpid.apache.org
>> Subject: Re: Duplating Messages
>>
>>
>>
>> On 04/26/2012 07:59 PM, m.luchak@smartasking.com wrote:
>>> going for the straight forward approach of creating a new connection to select
and ack the message using ... JMSMessageID I guess?... will try it out...
>>
>> This has the advantage of being easily transferable to 1.0 if/when needed.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
>> For additional commands, e-mail: users-help@qpid.apache.org
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Mime
View raw message