activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <>
Subject Re: Stomp durable topic do not UNSUB
Date Mon, 22 Jan 2007 17:29:49 GMT
On 1/19/07, tim.geldart <> wrote:
> I have observed inexplicable behavior (to me, at least) when using the Stomp
> C API to consume messages from a durable subscription. I could not find
> prior discussion or bugs filed on this topic, so I would like to know if
> this is expected behavior.
> I am using the 4.2 snapshot, built from the trunk on 1/19. The broker is
> running on Windows with JRE 1.5.0_10. The clients are using the Stomp C API
> from a remote Solaris box.
> Sending a Stomp UNSUB command after successfully creating and receiving
> messages on a durable topic appears to have no effect. The JMX console still
> shows the durable subscription under the tree path:
> org.apache.activemq/Subscription/Durable. If I manually execute the
> destroy() method from the console, the console shows the subscription moved
> to org.apache/activemq/Subscription/false.
> I am passing the topic destination in the UNSUB header. The broker appears
> to receive the UNSUB command (I specify a receipt in the UNSUB request and
> subsequently receive the corresponding RECEIPT response from the broker) but
> does not appear to handle it properly.
> Am I missing some trick to unsubscribing durable topics?

So durable topics are a bit different to other kinds of subscriptions.
When you unsubscribe, it generally just means that you are not
currently able to process messages any more (e.g. when you are
shutting down or something). So unsubscribing does not delete the
subscription (since the whole point of durable topics is to keep a
copy of every message matching the subscription, while the client is
not running).

So to stop collecting messages for durable subscriptions, you need to
delete the subscription via the MBeans - i.e. its an adminstrative
issue (rather than via stomp/jms).

If you want to start/stop subscriptions within a client, then don't
use durable topics, use non-persistent subscriptions



View raw message