[jboss-jira] [JBoss JIRA] (WFLY-8579) Topic messages are sent to all shared non-durable subscription participants

Scott Van Wart (JIRA) issues at jboss.org
Mon Apr 17 14:16:00 EDT 2017


    [ https://issues.jboss.org/browse/WFLY-8579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13394087#comment-13394087 ] 

Scott Van Wart commented on WFLY-8579:
--------------------------------------

I did some further testing:
* Setting "shareSubscriptions" to "true" has no effect on NonDurable subscriptions.
* Setting the "clientId" property shows this warning at deployment time:
{panel}
15:02:10,541 WARN  [org.jboss.as.ejb3] (MSC service thread 1-3) WFLYEJB0006: ActivationConfigProperty clientId will be ignored since it is not allowed by resource adapter: activemq-ra
{panel}
* Changing "clientId" to "clientID" makes this warning go away and introduces a new error about there already being subscribers on a durable topic, so...
* Setting "shareSubscriptions" to "true" at that point seems to make everything behave as I'd expect. The messages are delivered round-robin as if I had multiple subscribers on a queue.

So it looks like there's a separate issue with having to specify "clientID" instead of "clientId", although it's not completely silent about it, which is good.  Ultimately I don't see a method of creating a non-durable shared subscription to a topic using MDBs, and thus there's probably no way to create a non-durable shared subscription across multiple nodes in a cluster.  Thoughts?

> Topic messages are sent to all shared non-durable subscription participants
> ---------------------------------------------------------------------------
>
>                 Key: WFLY-8579
>                 URL: https://issues.jboss.org/browse/WFLY-8579
>             Project: WildFly
>          Issue Type: Bug
>          Components: JMS
>    Affects Versions: 10.1.0.Final
>            Reporter: Scott Van Wart
>            Assignee: Jeff Mesnil
>         Attachments: duplicate-shared.zip
>
>
> I have two MDBs with a subscription to a topic.  The same clientId and a subscriptionName are specified in the activation config properties for each MDB. subscriptionDurability is omitted (defaulted to NonDurable).
> When I send a single message to this topic, both MDBs receive the message.  According to JSR 343, 8.3.2 Shared non-durable subscriptions:
> bq. A non-durable shared subscription is used by a client that needs to be able to
> share the work of receiving messages from a non-durable topic subscription
> amongst multiple consumers. A non-durable shared subscription may
> therefore have more than one consumer. *Each message from the subscription will be delivered to only one of the consumers on that
> subscription.*
> Setting the subscriptionDurability property to Durable works as expected (each message is delivered to only one consumer in that subscription).



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the jboss-jira mailing list