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]

Reply via email to