[ https://issues.apache.org/jira/browse/ARTEMIS-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16068828#comment-16068828 ]
clebert suconic commented on ARTEMIS-1262: ------------------------------------------ [~cshannon] hmnmmm.. Looking at the javadoc: https://docs.oracle.com/javaee/7/api/javax/jms/JMSContext.html#createSharedDurableConsumer-javax.jms.Topic-java.lang.String- There is no restriction on durable subscriptions and shared non-durable subscriptions having the same name and clientId. Such subscriptions would be completely separate. The issue is that this is sharing the same queue... it should be a separate queue... However.. fixing that may break compatibility. We would need to add a flag on the connection factory :/ > 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 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 > createSharedDurableConsumer methods, and an unshared durable > subscription already exists with the same name and client identifier, then a > JMSException or JMSRuntimeException is 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)