qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jakub Scholz <ja...@scholz.cz>
Subject Re: usage of message selectors in C++ Qpid 0.28 client (amqp 1.0)
Date Mon, 02 Feb 2015 14:43:26 GMT
Hi Gordon,

Thanks for your help. The full filter specification indeed seems to work
fine with ActiveMQ / A-MQ.

-----

Looking only at the filter name instead of the descriptor is one problem.
Another problem is that if the broker doesn't understand the filter it
should in my opinion not ignore it "silently". As I understood the specs,
the A-MQ should not sent the attach command to the client with the filter
if it didn't understood the filter, or?

That said, the Qpid broker seems to behave bit more in line with my
expectations:

2015-02-02 15:23:37 [Protocol] trace
[57379056-3e51-42ca-9908-e859f3b49be1]: 0 -> @attach(18)
[name="responseQueue_b9d5e14f-ae4c-465c-85a8-36acab81fe6a", handle=0,
role=true, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40)
[address="responseQueue", durable=0, timeout=0, dynamic=false,
filter={:"my-selector"=@:"apache.org:xxxselector-filter:string"
"status='suda'"}], target=@target(41) [address="responseQueue", durable=0,
timeout=0, dynamic=false], initial-delivery-count=0]
2015-02-02 15:23:37 [Protocol] trace
[57379056-3e51-42ca-9908-e859f3b49be1]: 0 <- @attach(18)
[name="responseQueue_b9d5e14f-ae4c-465c-85a8-36acab81fe6a", handle=0,
role=false, snd-settle-mode=2, rcv-settle-mode=0, source=@source(40)
[address="responseQueue", durable=0, timeout=0, dynamic=false],
target=@target(41) [durable=0, timeout=0, dynamic=false],
initial-delivery-count=0]

It responds with an attach but without the filter - that is what I would
expect based on the AMQP 1.0 spec. However, the Qpid Messaging client seems
to ignore that. Is there some way how to find out that the receiver was
created but without the filter? Shouldn't the client raise an error in such
case?

Thanks & Regards
JAkub

On Mon, Feb 2, 2015 at 2:08 PM, Gordon Sim <gsim@redhat.com> wrote:

> On 01/30/2015 03:15 PM, Jakub Scholz wrote:
>
>> So, I did some playing around. And it looks like the filter configured
>> this
>> way works fine with Qpid C++ broker, but doesn't really work with
>> ActiveMQ.
>> The filter seems to be present in the attach commands, but seems to be
>> ignored by the broker.
>>
>> 2015-01-30 16:00:50 [Protocol] trace
>> [19d9dcef-2e7c-4738-b549-e8a3c5737c22]: 0 -> @attach(18)
>> [name="queue://responseQueue_0dd729c8-6782-4380-affb-05ce401a75d3",
>> handle=0, role=true, snd-settle-mode=2, rcv-settle-mode=0,
>> source=@source(40) [address="queue://responseQueue", durable=0,
>> timeout=0,
>> dynamic=false, filter={:selector=@77567109365764 "status='licha'"}],
>> target=@target(41) [address="queue://responseQueue", durable=0,
>> timeout=0,
>> dynamic=false], initial-delivery-count=0]
>> 2015-01-30 16:00:50 [Protocol] trace
>> [19d9dcef-2e7c-4738-b549-e8a3c5737c22]: 0 <- @attach(18)
>> [name="queue://responseQueue_0dd729c8-6782-4380-affb-05ce401a75d3",
>> handle=0, role=false, snd-settle-mode=2, rcv-settle-mode=0,
>> source=@source(40) [address="queue://responseQueue", durable=0,
>> expiry-policy=:"session-end", timeout=0, dynamic=false,
>> filter={:selector=@77567109365764 "status='licha'"}], target=@target(41)
>> [address="queue://responseQueue"], incomplete-unsettled=false,
>> initial-delivery-count=0]
>>
>> Anyone has an idea why it doesn't work? The Java client seems to work fine
>> with the selector and ActiveMQ.
>>
>
> ActiveMQ looks only at the name of the filter, not the descriptor of the
> value, and expects it to be 'jms-selector'.
>
> You can control that by being more explicit in the address, e.g.:
>
>   my-queue; {link:{filter:{name:jms-selector, descriptor:'apache.org:
> selector-filter:string', value:'uniqueAppId=7'}}}
>
> ActiveMQ should really look at the descriptor, but we could also change
> the name/key the client uses by default since a compliant broker doesn't
> really care what that is anyway.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message