I thought that with qpid::messaging you could use a (perhaps more
intuitive) shorthand in the link stanza like:
{link: {selector: \"messaging_service='amqp-delivery' and
item_owner='fadams'\"}}
where messaging_service and item_owner are message properties and the
example selector is doing a boolean and
I think that under the hood it gets mapped to an
apache.org:selector-filter:string filter in the link attachment protocol
and the above is just syntactic sugar at the API level, but the above
seems neater to me than having to spell out the full filter syntax
'cause Lord knows Address strings can get complicated enough and be
pretty hard to to debug.
ISTR too that property names need to use underscores for message
selectors to work so properties like "messaging-service" which would
work as property names in Qpid won't match with message selectors.
I *think* that was something to do with Java JMS spec. saying something
about JMS property names having to be valid Java identifiers (that is to
say something you could use as a variable name) however I don't thing
that the AMQP spec said anything about constraining message property
names in this way and moreover the AMQP 0.10 JMS API actually happily
allowed property names separated by hyphens, but message selectors as I
recall were more picky, it's possible that may have changed, but I'm not
aware that it has.
IMHO if the AMQP spec doesn't disallow hyphen separated property names
then Qpid message selectors should accept it (after all JMS is just one
API to AMQP) though noting the potential for interoperability issues
given the potential JMS property name constraint.
Frase
On 11/01/17 20:01, Gordon Sim wrote:
On 11/01/17 19:27, Flores, Paul A. wrote:
Interested in the 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'}}}
The value of the 'value' element in the filter can be any valid JMS
selector.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]