You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by mohank <mo...@eventtracker.com.INVALID> on 2020/05/27 18:20:00 UTC
Re: Message Filters - C++ API
>>With qpid::messaging you use an address of the form:
>> my-queue; {link:{filter:{name:jms-selector,
>>descriptor:'apache.org:selector-filter:string', value:'myProperty=7'}}}
This kind of address syntax always throws exception
EX : for above address
Receiver receiver = session.createReceiver("'my-queue'; {link:
{filter: {name:jms - selector,descriptor :
'apache.org:selector-filter:string', value : 'myProperty=7'}}}");
got exception : Unmatched '{'!, character 38 of 'my-queue'; {link: {filter:
{name:jms - selector,descriptor : 'apache.org:selector-filter:string', value
: 'myProperty=7'}}}
My environment setup is ,
OS: Windows
Client : QPID C++ 1.36 AMQP 1.0
Broker : Rabbitmq 3.8
If this syntax is not supported in RabbitMQ broker (then which broker
supports complete AMQP 1.0 feature)or not supported in AMQP 1.0
Thanks,
Mohan
--
Sent from: http://qpid.2158936.n2.nabble.com/Apache-Qpid-users-f2158936.html
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org
Re: Message Filters - C++ API
Posted by Gordon Sim <gs...@redhat.com>.
On 27/05/2020 7:20 pm, mohank wrote:
>>> With qpid::messaging you use an address of the form:
>
>>> my-queue; {link:{filter:{name:jms-selector,
>>> descriptor:'apache.org:selector-filter:string', value:'myProperty=7'}}}
>
> This kind of address syntax always throws exception
> EX : for above address
> Receiver receiver = session.createReceiver("'my-queue'; {link:
> {filter: {name:jms - selector,descriptor :
> 'apache.org:selector-filter:string', value : 'myProperty=7'}}}");
>
> got exception : Unmatched '{'!, character 38 of 'my-queue'; {link: {filter:
> {name:jms - selector,descriptor : 'apache.org:selector-filter:string', value
> : 'myProperty=7'}}}
>
> My environment setup is ,
> OS: Windows
> Client : QPID C++ 1.36 AMQP 1.0
> Broker : Rabbitmq 3.8
>
> If this syntax is not supported in RabbitMQ broker (then which broker
> supports complete AMQP 1.0 feature)or not supported in AMQP 1.0
The syntax doesn't get seen by RabbitMQ, it is interpreted by the client
(which then sends the filter in the AMQP 1.0 encoding to the broker).
From an initial glance I suspect the error may be due to "jms -
selector" not being in single quotes in spite of having spaces?
However RabbitMQ does not support filters anyway
(https://github.com/rabbitmq/rabbitmq-amqp1.0#limitations-and-unsupported-features).
In terms of brokers with support for AMQP 1.0, there are several. The
Qpid java broker supports all versions of AMQP and has very good AMQP
1.0 support including filters. The Qpid c++ broker supports AMQP 0-10
and AMQP 1.0 and also supports selectors. Both ActiveMQ 5 and ActiveMQ
Artemis also support AMQP 1.0.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org