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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to