Clarification requested regarding topic subscription management in 5.8.0
Using ActiveMQ 5.8.0 on RHEL 6.1
I'd like some clarification as to what is the expected behavior when one
follows these steps:
1. Using the web console create a durable topic subscriber. In my case
it was for an existing (and busy) topic (let's call it foo), the selector
was blank and the client id and subscriber name were set to be the same
(e.g., test and test).
2. The broker started to retain messages for this subscriber, per the
stats shown in the 'offline durable topic subscribers' panel on the web
console. This as I expected.
3. Using my Ruby based STOMP client I subscribed (over 1.1) to a
different topic (called bar) using the same client id and subscriber name
(activemq.subscriptionName header) as was entered on the web console when
creating a subscriber to topic foo. The subscribe request succeeded. (Not
expected. I was expecting the broker to complain that those parameters were
in use by an existing subscription in much the same way the broker does
when two active subscribers use the same client-id/subscription name
4. On the web console the offline durable subscriber to topic foo is
replaced with a subscription to topic bar and all messages previously held
under the old subscription to topic foo are discarded.
Note: I can repeat this behavior using just the web console; through
multiple calls to 'create durable subscriber' where only the topic name
changes between invocations.
I'm not sure I understand why an unsubscribe (or delete, if using the web
console) is not required if there's a current subscription under the
client-id/subscription name. It's rather worrisome to think that if some
client uses the wrong client-id/subscription name in error that my existing
subscription is effectively blown away.