On Wed, 9 Dec 2020 at 22:19, Michael Walser <[email protected]> wrote: > > Thank your for your exhaustive answer. > > > Am 09.12.20 um 16:53 schrieb Robbie Gemmell: > >> That said, Qpid JMS and at least the Qpid brokers have long supported > >> (along with ActiveMQ Artemis more recently) an escape of "quoting" the > >> contents of the 'property name' variable for bypassing some of the > >> restrictions and allowing some of these additional behaviours, e.g. a > >> quoted variable in a selector string: > >> "\"my.quoted-var\"='some-value'" > > Thanks for that suggestion. Unfortunately the server appears to only > accept a very specific syntax. The quoted variable name is unfortunately > not allowed by the server. Also the validation disallows the ">" > operator being used when the right hand side of the expression is a > string, which the server unfortunately appears to require. >
Yep, so I actually overlooked that string element in your example hehe, or I needn't have even mentioned the quoting workaround. The > operator simply isn't applicable to strings in JMS selectors, and the quoting workaround escape the client supports is really about naming, and so unsurprisingly has no effect on that type-validation aspect of the existing checks. > > >> I think adding the option to disable the selector validation is > >> reasonable, given we do provide option for disabling related property > >> name validations. > > That's great to hear! > > > >> It simply shouldn't be necessary to change the map key since using a > >> particular map key is not part of the filters semantic, the server > >> shouldnt especially care what is used, and so I dont think it should > >> be encouraged or warrants adding+maintaining an option for this. > > Yes, you are right. This change is not needed. Sorry, my understanding > of the AMQP 1.0 protocol is still developing. > > > > Here is a branch with a change adding support for a > > "jms.validateSelector" URI option that could be used (by setting the > > value to false) to disable the local JMS syntax validation, resulting > > in it simply passing the selector string through to be sent in the > > filter. You can see how you get on with that: > > https://github.com/gemmellr/qpid-jms/tree/selector-validation-toggle > > I compiled your branch locally and was able to get the filter to work > using the new option. Again, thank you for taking your time and > implementing this so swiftly. > Good to hear. I finished the change off and committed it via https://issues.apache.org/jira/browse/QPIDJMS-522. A new 0.56.0-SNAPSHOT can be tested either via a local build from https://github.com/apache/qpid-jms or there will now be a build in the snapshots repo (https://repository.apache.org/content/repositories/snapshots/) at this point also. It's really about the same as yesterdays branch though, but with an updated Netty also. I'll be looking to do a release next week. > > There is already an email regarding your great support and I want to say > that I share the praise expressed there. You not only taking your time > suggesting a possible workaround, clearing up my misunderstanding of the > filter symbols but then also implementing the change required to solve > the problem at hand is really great. > Thank you for that! > > ~~ Michael > > --------------------------------------------------------------------- > 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]
