activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: ActiveMQ 4.0 RC1 - durable topic
Date Mon, 10 Apr 2006 17:39:42 GMT
On 4/10/06, ErinO <ErinOceng@hotmail.com> wrote:
>
> Hi, James:
>
> Thanks for the explanation. The configuration flag will do for my case.
>
> But I thought the purpose for the durable topic is to remove the order
> dependency between the producer and the consumer.

To loosely couple producers and consumers yes. But for topics if there
are no consumers active at the time a producer sends a message then
usually its discarded. Queues on the other hand never have messages
discarded.


> Also for a message to be
> durable means it shouldn't get lost in any circumstances, if someone didn't
> turn on the configuration flag you are going to add, he could lose messages
> in this specific case.
>
> In my opinion, it is better to fix the issue than just adding a
> configuration flag.

One of the points of decoupling producers and consumers is that the
producer doesn't know or care if there are any consumers; if there are
no consumers for a message we should not pay the cost of there being
consumers by default.

But there are many different use cases in messaging; if you want to
always persist a message to disk irrespective of if there are any
available consumers to ever see it - then by all means we'll support
that with a trivial flag.

BTW by default if you create a new subscriber after messages are sent,
they are not usually delivered to the subscriber anyway (whether they
are written to the database or not). i.e. creating a subscriber
(durable or transient) is normally the point in time to start
dispatching messages to the subscriber.

Incidentally we have extended the usual MOM/JMS  model to allow
retroactive subscriptions...
http://activemq.org/Subscription+Recovery+Policy
--

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message