Author: chirino Date: Thu Nov 16 04:23:48 2006 New Revision: 475708 URL: http://svn.apache.org/viewvc?view=rev&rev=475708 Log: Latest export from confluence
Modified: incubator/activemq/site/how-do-durable-queues-and-topics-work.html Modified: incubator/activemq/site/how-do-durable-queues-and-topics-work.html URL: http://svn.apache.org/viewvc/incubator/activemq/site/how-do-durable-queues-and-topics-work.html?view=diff&rev=475708&r1=475707&r2=475708 ============================================================================== --- incubator/activemq/site/how-do-durable-queues-and-topics-work.html (original) +++ incubator/activemq/site/how-do-durable-queues-and-topics-work.html Thu Nov 16 04:23:48 2006 @@ -252,8 +252,7 @@ <!-- <div class="pagetitle">How do durable queues and topics work</div> --> - <DIV class="wiki-content"> -<P>Durable queues keep messages around persistently for any suitable consumer to consume them. Durable queues do not need to concern themselves with which consumer is going to consume the messages at some point in the future. There is just one copy of a message that any consumer in the future can consume.</P> + <DIV class="wiki-content"><P>Durable queues keep messages around persistently for any suitable consumer to consume them. Durable queues do not need to concern themselves with which consumer is going to consume the messages at some point in the future. There is just one copy of a message that any consumer in the future can consume.</P> <P>Durable topics however are different as they must logically persist an instance of each suitable message for every durable consumer - since each durable consumer gets their own copy of the message.</P> @@ -261,7 +260,7 @@ <P>When S restarts at D2, the publisher sends M6 and M7. Now S will receive M4, M5 followed by M6 and M7 and all future messages. i.e. S will receive all messages from M1..M7.</P> -<P>This is the difference between durable and non-durable publishing. If S were a non-durable pubisher then it would only have received M1, M2, M3 and M6, M7 - not M4 and M5. i.e. because the subscription is durable, S will receive every message sent to T whether the subscriber is running or not. For non-durable topics, only messages delivered to the topic T when S is running are delivered.</P> +<P>This is the difference between durable and non-durable consuming. If S were a non-durable consumer then it would only have received M1, M2, M3 and M6, M7 - not M4 and M5. i.e. because the subscription is durable, S will receive every message sent to T whether the subscriber is running or not. For non-durable topics, only messages delivered to the topic T when S is running are delivered.</P> <P>So for durable topic subscription, the JMS provider needs to be able to identify S when it shuts down and later on in the future reconnects, so it can know what messages to send to it while it was not running. JMS specification dictates that the identification of S is done by a combination of the clientID and the durable subscriber name. This is so that the JMS connection S uses can have many different durable subscriptions on different topics or on the same topic with different selectors - yet the JMS provider can know which message for which subscription to keep around for it.</P> @@ -275,8 +274,9 @@ </DIV> <DIV id="site-footer"> Added by <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=jstrachan">James Strachan</A>, - last edited by <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=jstrachan">James Strachan</A> on May 23, 2005 - + last edited by <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=tabish121">Timothy Bish</A> on Nov 21, 2006 + (<A href="http://goopen.org/confluence/pages/diffpages.action?pageId=216&originalId=15124">view change</A>) + (<A href="http://goopen.org/confluence/pages/editpage.action?pageId=216">edit page</A>) </DIV>