> Consider a network with two routers P, S, where P is a publisher to
> some
> topic T, and S is a durable subscriber to T.
> Suppose that S set up its durable subscriber in the past, and that P
> has published successfully to S in the past.
> Now shut down both P and S, and restart only P.
> When P publishes next to T, will P know that there is a durable
> subscriber
> S for which it should persist the messages?
> The expected answer is "yes, that's what 'durable subscriber' means!".
> I've been trying to figure out how P knows, just so I'm comfortable
> with what's going on. Even when P has a durables file defined in
> the configuration file, it never seems to create that file. Is there
> a different mechanism?
>
> I've been looking for this in the doc, and although I've certainly
> found some useful information I'd missed on previous readings, I
> coulnd't find anything about this question.
You're right, that's not documented. Although there are much SwiftMQ docs,
a 'Router Network Guide' is missing where all that is explained.
Pub/sub with multiple routers work that way: Subscriptions are announced
from TopicManagers to TopicManagers of connected routers when the
subscription count per topic switches to 1 (at least 1 subscriber) or 0
(no more subscribers). Thus, each local TopicManager knows about remote
subscriptions and forwards a copy to the remote router when there is at
least one remote subscriber for it. These subscription are announced when
a routing connection is made. If the connection goes down, all
remote subscriptions for the specific routers are deleted, except there is
a static route for those routers. Then they will survive and messages will
be stored and forwarded on the next connect. A local router never stores
remote subscription information persistently, hence, on startup, it
doesn't know anything about remote durable subscribers. It gets this
information on the first connect to the remote router.
--
Andreas Mueller, IIT GmbH, Bremen/Germany, http://www.iit.de
SwiftMQ - JMS Enterprise Messaging System, http://www.swiftmq.com
------------------------------------------------------
SwiftMQ developers mailing list * http://www.swiftmq.com
To unsubscribe from this list, send an eMail to
[EMAIL PROTECTED] and write in the body of your message:
UNSUBSCRIBE developers <your-email-address>
Archive: http://www.mail-archive.com/developers@mail.iit.de/