Hello.
I've hit an odd behavior in Artemis (tested with 2.32 and 2.37), and I'd like 
to know if it's a bug or a feature.
Say I have an anycast address `addr1` and two queues:  `q1` and `q2`. Both 
queues have a filter on them, and the `q2`'s filter is a negation of the `q1`'s 
filter. Schematically:

  *   addr1
     *   q1 [key = 'value']
     *   q2 [NOT (key = 'value')]
Intuitively, whatever message does not fulfill the first condition (either 
there's no `key` property, or its value is different) should be routed to `q2`. 
And that works but only as long as the message has at least some properties.
In other words:

  *   A message with property `key` of value `value` ends up in the `q1` queue.
  *   A message with property `key` of value `foobar` ends up in the `q2` queue.
  *   A message with property `foo` of value `bar` ends up in the `q2` queue.
  *   And finally, a message with no properties is lost.
Is it really supposed to work like this?
Thanks.
Jan

Reply via email to