The definition above states that noLocal can only be set to true if
client id is set. However, since the client
identifier forms part of the name of the subscription, and since you
can't have two connections with the same client
identifier, noLocal can only be set to true if you have only one
connection consuming from the subscription (though
you can still have multiple sessions using that connection).
Oh, I see now. But in this case we are really restricting concurrent consumer
use case by allowing only concurrent
sessions in scope of single connection. Isn't it? Probably it is more
flexible to allow to specify shared subscription
name completely up to clients?
[jms-spec users] Re: [jsr343-experts] Re: (JMS_SPEC-40) Meaning of noLocal with shared non-durable subscriptions