The client connects and specified a client id:

    CONNECT
    client-id:test2

and subscribes with a subscription name

    SUBSCRIBE
    destination:/topic/TestUnsubscribeDurable
    ack:auto
    id:...
    activemq.subscriptionName:testsub



But when the client sends the two unsubscribe frames as explained in http://stackoverflow.com/questions/30519152/how-to-unsubscribe-from-durable-topic-subscription,

    UNSUBSCRIBE
    destination:/topic/TestUnsubscribeDurable

    UNSUBSCRIBE
    destination:/topic/TestUnsubscribeDurable
    activemq.subscriptionName:testsub

the ActiveMQ broker logs a warning:

      WARN | Exception occurred processing: null:
     javax.jms.InvalidDestinationException: No durable subscription exists
     for clientID: testsub and subscriptionName: testsub

The warning is a bit confusing because the clientID used when connecting was test2, not testsub.

Unsubscribing only seems to work when client-id equals subscriptionName (the admin interface then no longer shows the subscription).

ActiveMQ 5.7 removed the restriction that client-id and subscriptionName have to be the same. Can it be that this change was not applied to the unsubscribe logic?


Also posted on Stackoverflow at http://stackoverflow.com/questions/35936950/

Reply via email to