Hi,

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
   combination)
   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.

What am I missing?

Thanks,

Paul

Reply via email to