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]
