You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ch...@apache.org on 2006/09/08 00:23:11 UTC

svn commit: r441258 - /incubator/activemq/site/retroactive-consumer.html

Author: chirino
Date: Thu Sep  7 15:23:10 2006
New Revision: 441258

URL: http://svn.apache.org/viewvc?view=rev&rev=441258
Log:
Latest export from confluence

Modified:
    incubator/activemq/site/retroactive-consumer.html

Modified: incubator/activemq/site/retroactive-consumer.html
URL: http://svn.apache.org/viewvc/incubator/activemq/site/retroactive-consumer.html?view=diff&rev=441258&r1=441257&r2=441258
==============================================================================
--- incubator/activemq/site/retroactive-consumer.html (original)
+++ incubator/activemq/site/retroactive-consumer.html Thu Sep  7 15:23:10 2006
@@ -277,8 +277,7 @@
 <!--          
             <div class="pagetitle">Retroactive Consumer</div>
 -->
-            <DIV class="wiki-content">
-<H2><A name="RetroactiveConsumer-Background"></A>Background</H2>
+            <DIV class="wiki-content"><H2><A name="RetroactiveConsumer-Background"></A>Background</H2>
 
 <P>A retroactive consumer is just a regular JMS consumer who indicates that at the start of a subscription every attempt should be used to go back in time and send any old messages (or the last message sent on that topic) that the consumer may have missed.</P>
 
@@ -291,7 +290,15 @@
 <DIV class="code"><DIV class="codeContent">
 <PRE class="code-java">queue = <SPAN class="code-keyword">new</SPAN> ActiveMQQueue(<SPAN class="code-quote">&quot;TEST.QUEUE?consumer.retroactive=<SPAN class="code-keyword">true</SPAN>&quot;</SPAN>);
 consumer = session.createConsumer(queue);</PRE>
-</DIV></DIV></DIV>
+</DIV></DIV>
+
+<H2><A name="RetroactiveConsumer-Limitations"></A>Limitations</H2>
+
+<P>Retroactive consumer will not consistently work when used across a network of brokers.</P>
+
+<P>In the case of topics, when we connect broker A to broker B, broker B will send broker A all the subscriptions that it has received. Since Broker A replicates messages to each subscription, and we want to avoid receiving duplicates at broker B, we can&apos;t send broker A more than 1 subscription for the same topic. To solve this So our network bridges keep track of the subscriptions sent across and only send the first subscription to a topic. Subsequent subscriptions increment the reference count of the subscription, but the subscription is not actually sent.</P>
+
+<P>This in essence is the problem. If the first subscription to a topic is not retroactive, it is sent B to A, and the B broker will not get the retroactive messages. Then subsequent subscriptions could be (retroactive), but it will not cause retroactive message to sent from broker A to broker B since the subsequent subscription will not be sent to broker A.</P></DIV>
           
                   </DIV>
         </TD>
@@ -301,8 +308,8 @@
     </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 12, 2006
-                  &nbsp;(<A href="http://goopen.org/confluence/pages/diffpages.action?pageId=233&originalId=5442">view change</A>)
+    last edited by     <A href="http://goopen.org/confluence/users/viewuserprofile.action?username=chirino">Hiram Chirino</A> on Sep 07, 2006
+                  &nbsp;(<A href="http://goopen.org/confluence/pages/diffpages.action?pageId=233&originalId=13534">view change</A>)
               
       (<A href="http://goopen.org/confluence/pages/editpage.action?pageId=233">edit page</A>)
     </DIV>