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">"TEST.QUEUE?consumer.retroactive=<SPAN class="code-keyword">true</SPAN>"</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'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
- (<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
+ (<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>