activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rob DellaFortuna" <>
Subject Making sense of durability/reliability for topic subscriptions.
Date Tue, 18 Jul 2006 20:43:02 GMT
Hi Guys,

I was wondering if one of you ActiveMQ experts could answer a few of my
questions regarding some implementation questions I have.

One of the scenario/use-cases I wish to accomplish is this:
Note: I've simplified this to example to one consumer/producer, but really
the scenario will be one producer to multiple consumers of the provider's

 Say we have a provider 'p' drop in durable message into a topic 'T' and
have consumer 'c' subscribe to messages from 'p's topic T in such a manner
i) if a connection is lost between c and p, p will actually hold on to those
messages (for a set amount of time)
ii) when c reconnects to p, p will receive those messages that it has missed
and continue to receive future messages.
iii) when a connection fails between p/c, c will try to reconnect to p
(reliability?) and then try to accomplish retroactive/durable consuming (see

 So, in English, the consumer wishes to receive all messages published to
the topic, reconnect on failure, and receive all messages that were held on
for him due to a connection failure.

 So my first question is such that.

1. Is this possible to accomplish this above use-case?  My first guess is
that it should be. I've read a lot of the posts, and it seems I have two
options. Please correct me if I'm wrong:
  a) Option #1 for durability - Set the clientId and SubscriptionName when
making a broker connection from the Consumer to the provider's Topic. This
should make a topic 'durable'. (This should allow the consumer to receive
past messages it missed during a connection outing after reconnect.)

  b) Option #2 for durability - Use the jms.useRetroactiveConsumer in the
connection broker URI. (This should allow the consumer to receive past
messages it missed during a connection outing after reconnect.).  This seems
to work sometimes, but not always.

  c) Option #1 for Reliability – Use the failover: prefix when configuring
the connectionFactory's broker URI.

My second question is :

Is it possible to setup both durability and reliability for a consumer
subscribing to a topic by setting params or prefixes within the connection
URI passed to the connectionFactory?  I ask this since I'm currently setting
up the brokerURI via my servicemix config and it would be ideal to setup the
durability/reliability details within the connection URI.
BTW, I'm currently utilizing ServiceMix 3, with ActiveMQ 4.x if that makes a

I hope someone can make sense of these questions,



  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message