[
https://issues.apache.org/jira/browse/ARTEMIS-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher L. Shannon updated ARTEMIS-1262:
--------------------------------------------
Description:
There is a JMS 2.0 spec violation with Artemis. Currently it is possible to
first create a durable subscription with a clientId and subscription name and
then also create a shared durable subscription using the same clientId and
subscription name. This works because the Artemis isn't distinguishing between
the two types of consumers during the creation of the consumer. However, the
spec says:
{quote}A shared durable subscription and an unshared durable subscription may
not
have the same name and client identifier. If the application calls one of the
createDurableConsumer or createDurableSubscriber methods,
and a shared durable subscription already exists with the same name and
client identifier, then a JMSException or JMSRuntimeException
(depending on the method signature) will be thrown.{quote}
I think that there may need to be a flag added somewhere during the creation of
the consumer so the broker can tell whether or not the durable subscription is
shared vs non-shared so it can reject a shared subscription attempt if a
non-shared subscription exists for the same client Id and name.
was:
There is a JMS 2.0 spec violation with Artemis. Currently it is possible to
first create a durable subscription with a clientId and subscription name and
then also create a shared durable subscription using the same clientId and
subscription name. This works because the Artemis isn't distinguishing between
the two types of consumers during the creation of the consumer. However, the
spec says:
{{A shared durable subscription and an unshared durable subscription may not
have the same name and client identifier. If the application calls one of the
createDurableConsumer or createDurableSubscriber methods,
and a shared durable subscription already exists with the same name and
client identifier, then a JMSException or JMSRuntimeException
(depending on the method signature) will be thrown.}}
I think that there may need to be a flag added somewhere during the creation of
the consumer so the broker can tell whether or not the durable subscription is
shared vs non-shared so it can reject a shared subscription attempt if a
non-shared subscription exists for the same client Id and name.
> JMS 2.0 durable subscription spec violation
> -------------------------------------------
>
> Key: ARTEMIS-1262
> URL: https://issues.apache.org/jira/browse/ARTEMIS-1262
> Project: ActiveMQ Artemis
> Issue Type: Bug
> Components: Broker
> Affects Versions: 2.1.0
> Reporter: Christopher L. Shannon
>
> There is a JMS 2.0 spec violation with Artemis. Currently it is possible to
> first create a durable subscription with a clientId and subscription name and
> then also create a shared durable subscription using the same clientId and
> subscription name. This works because the Artemis isn't distinguishing
> between the two types of consumers during the creation of the consumer.
> However, the spec says:
> {quote}A shared durable subscription and an unshared durable subscription may
> not
> have the same name and client identifier. If the application calls one of the
> createDurableConsumer or createDurableSubscriber methods,
> and a shared durable subscription already exists with the same name and
> client identifier, then a JMSException or JMSRuntimeException
> (depending on the method signature) will be thrown.{quote}
> I think that there may need to be a flag added somewhere during the creation
> of the consumer so the broker can tell whether or not the durable
> subscription is shared vs non-shared so it can reject a shared subscription
> attempt if a non-shared subscription exists for the same client Id and name.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)