activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From foco...@apache.org
Subject svn commit: r383094 - in /incubator/activemq/site: Changes+in+4.0 Consumer+Dispatch+Async Consumer+Priority Exclusive+Consumer OpenWire+dotNet Retroactive+Consumer
Date Sat, 04 Mar 2006 11:47:31 GMT
Author: foconer
Date: Sat Mar  4 03:47:28 2006
New Revision: 383094

URL: http://svn.apache.org/viewcvs?rev=383094&view=rev
Log:
Latest HTML dump from the confluence wiki created by wikimesh; see the confluence log for
a detailed 
changelog

Modified:
    incubator/activemq/site/Changes+in+4.0
    incubator/activemq/site/Consumer+Dispatch+Async
    incubator/activemq/site/Consumer+Priority
    incubator/activemq/site/Exclusive+Consumer
    incubator/activemq/site/OpenWire+dotNet
    incubator/activemq/site/Retroactive+Consumer

Modified: incubator/activemq/site/Changes+in+4.0
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Changes%2Bin%2B4.0?rev=383094&r1=383093&r2=383094&view=diff
==============================================================================
--- incubator/activemq/site/Changes+in+4.0 (original)
+++ incubator/activemq/site/Changes+in+4.0 Sat Mar  4 03:47:28 2006
@@ -270,7 +270,7 @@
 	<li>A configurable per <a href="/Consumer+Dispatch+Async" title="Consumer Dispatch
Async">Consumer Dispatch Async</a> flag which allows you to configure how messages
are sent by the broker to a consumer.  This controls if the broker uses <a href="/SEDA"
title="SEDA">SEDA</a> or <a href="/STP" title="STP">STP</a> style dispaching.</li>
 	<li>A new plug-able topic <a href="/Subscription+Recovery+Policy" title="Subscription
Recovery Policy">Subscription Recovery Policy</a> which allows you to configure how
many transient messages are replayed when a <a href="/Retroactive+Consumer" title="Retroactive
Consumer">Retroactive Consumer</a> is created.</li>
 	<li>A new <a href="/Retroactive+Consumer" title="Retroactive Consumer">Retroactive
Consumer</a> feature allows topic consumers to "go back in time" so that it receives
old messages when the subscription is activated. If the consumer is a durable consumer, he
recover all the messages that are still in the persistent store.</li>
-	<li><a href="/Per+Destination+Policies" title="Per Destination Policies">Per
Destination Policies</a> are now supported and configured using the <span class="nobr"><span
title="Create Page: Destination Options Syntax" class="createlink">Destination Options
Syntax</span></span>.</li>
+	<li><a href="/Per+Destination+Policies" title="Per Destination Policies">Per
Destination Policies</a> allow you configure the behavior of destinations.</li>
 	<li>The broker now supports per destination plugable <span class="nobr"><span
title="Create Page: Dispatch Policies" class="createlink">Dispatch Policies</span></span>
so that you can choose the distribution algorithm used to send messages to a consumer.</li>
 	<li>The broker now supports two new types of connectors:
 	<ul>
@@ -279,7 +279,9 @@
 	</ul>
 	</li>
 	<li><a href="/Slow+Consumer+Handling" title="Slow Consumer Handling">Slow Consumer
Handling</a> allows you to discard old messages for slow consumers on non-durable topics
to avoid slowing down fast consumers</li>
+	<li>You can now specify <a href="/Destination+Options" title="Destination Options">Destination
Options</a> that allow you to do extend configuration of consumers.</li>
 </ul>
+
 
 
 </div><div class="section_3"><h3><a name="Changesin4.0-API%2FConfigurationchanages"></a>API/Configuration
chanages</h3>

Modified: incubator/activemq/site/Consumer+Dispatch+Async
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Consumer%2BDispatch%2BAsync?rev=383094&r1=383093&r2=383094&view=diff
==============================================================================
--- incubator/activemq/site/Consumer+Dispatch+Async (original)
+++ incubator/activemq/site/Consumer+Dispatch+Async Sat Mar  4 03:47:28 2006
@@ -274,9 +274,9 @@
 <pre class="code-java">((ActiveMQConnection)connection).setAsyncDispatch(<span class="code-keyword">false</span>);</pre>
 </div></div>
 
-</div><div class="section_3"><h3><a name="ConsumerDispatchAsync-ConfiguringAsyncDispatchattheConsumerLevel"></a>Configuring
Async Dispatch at the Consumer Level</h3>
+</div><div class="section_3"><h3><a name="ConsumerDispatchAsync-ConfiguringAsyncDispatchattheConsumerLevelusingDestinationOptions"></a>Configuring
Async Dispatch at the Consumer Level using <a href="/Destination+Options" title="Destination
Options">Destination Options</a></h3>
 
-<p>Configuring the dispatchAsync setting at this level overrides the settings at the
connection and connection factory level.</p>
+<p>Configuring the dispatchAsync using <a href="/Destination+Options" title="Destination
Options">Destination Options</a> overrides the settings at the connection and connection
factory level.</p>
 
 <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.dispatchAsync=<span class="code-keyword">false</span>"</span>);

Modified: incubator/activemq/site/Consumer+Priority
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Consumer%2BPriority?rev=383094&r1=383093&r2=383094&view=diff
==============================================================================
--- incubator/activemq/site/Consumer+Priority (original)
+++ incubator/activemq/site/Consumer+Priority Sat Mar  4 03:47:28 2006
@@ -254,9 +254,20 @@
 </center>
 
           </div>
-          <p>As well as having a pluggable dispatch policy (e.g. round robin etc),
we now support consumer priorities.</p>
+          <div class="section_3"><h3><a name="ConsumerPriority-Background"></a>Background</h3>
+
+<p>As well as having a pluggable dispatch policy (e.g. round robin etc), we now support
consumer priorities.</p>
 
 <p>This allows us to weight consumers to optimise network hops. For example you typically
want to a broker to send messages to regular JMS consumers rather than to other brokers; there's
no need to make unnessary broker-to-broker hops if there are available consumers.</p>
+
+</div><div class="section_3"><h3><a name="ConsumerPriority-Example"></a>Example</h3>
+
+<p>The priority for a consumer is set using <a href="/Destination+Options" title="Destination
Options">Destination Options</a> as follows:</p>
+
+<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.prority=10"</span>);
+consumer = session.createConsumer(queue);</pre>
+</div></div></div>
         </div>
 </div>
 </td>

Modified: incubator/activemq/site/Exclusive+Consumer
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Exclusive%2BConsumer?rev=383094&r1=383093&r2=383094&view=diff
==============================================================================
--- incubator/activemq/site/Exclusive+Consumer (original)
+++ incubator/activemq/site/Exclusive+Consumer Sat Mar  4 03:47:28 2006
@@ -268,8 +268,34 @@
 
 <p>So the effect is a heterogeneous J2EE cluster where each JVM has the same setup
and configuration; the broker is choosing one consumer to be the <em>master</em>
and send all the messages to it in order until it dies; then you get immediate failover to
another consumer.</p>
 
-<p>For those who've struggled with pinning JMS consumers in J2EE clusters you'll immediately
realise how useful this is to making clustered, high available distributed services.</p></div>
+<p>For those who've struggled with pinning JMS consumers in J2EE clusters you'll immediately
realise how useful this is to making clustered, high available distributed services.</p>
+
+</div><div class="section_3"><h3><a name="ExclusiveConsumer-Example"></a>Example</h3>
+
+<p>An Eclusive Consumer is created using <a href="/Destination+Options" title="Destination
Options">Destination Options</a> as follows:</p>
+
+<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.exclusive=<span class="code-keyword">true</span>"</span>);
+consumer = session.createConsumer(queue);</pre>
+</div></div></div>
         </div>
+<div style="text-align: center; width: 100%; padding-top: 1cm;padding-bottom: 1cm">
+<script type="text/javascript"><!--
+google_ad_client = "pub-3023399591478482";
+google_ad_width = 468;
+google_ad_height = 60;
+google_ad_format = "468x60_as";
+google_ad_type = "text_image";
+google_ad_channel ="9744516269";
+google_color_border = "FFFFFF";
+google_color_bg = "FFFFFF";
+google_color_link = "557755";
+google_color_url = "557755";
+google_color_text = "333333";
+//--></script>
+<script type="text/javascript"
+  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+</script>
 </div>
 </td>
     <tr>

Modified: incubator/activemq/site/OpenWire+dotNet
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/OpenWire%2BdotNet?rev=383094&r1=383093&r2=383094&view=diff
==============================================================================
--- incubator/activemq/site/OpenWire+dotNet (original)
+++ incubator/activemq/site/OpenWire+dotNet Sat Mar  4 03:47:28 2006
@@ -273,52 +273,12 @@
 <div class="section_2"><h2><a name="OpenWiredotNet-Example"></a>Example</h2>
 
 <p>The following example demonstrates the kinds of things available in OpenWire.Net</p>
-<div class="code"><div class="codeContent">
-<pre class="code-java">IConnectionFactory factory = <span class="code-keyword">new</span>
ConnectionFactory(<span class="code-quote">"localhost"</span>, 61616);
-using (IConnection connection = factory.CreateConnection())
-{
-    Console.WriteLine(<span class="code-quote">"Created a connection!"</span>);
-    
-    ISession session = connection.CreateSession();
-    
-    IDestination destination = session.GetQueue(<span class="code-quote">"FOO.BAR"</span>);
-    Console.WriteLine(<span class="code-quote">"Using destination: "</span> +
destination);
-    
-    <span class="code-comment">// lets create a consumer and producer
-</span>    IMessageConsumer consumer = session.CreateConsumer(destination);
-    
-    IMessageProducer producer = session.CreateProducer(destination);
-    producer.Persistent = <span class="code-keyword">true</span>;
-    
-    <span class="code-comment">// lets send a message
-</span>    ITextMessage request = session.CreateTextMessage(<span class="code-quote">"Hello
World!"</span>);
-    request.JMSCorrelationID = <span class="code-quote">"abc"</span>;
-    request.JMSXGroupID = <span class="code-quote">"cheese"</span>;
-    request.Properties[<span class="code-quote">"myHeader"</span>] = <span
class="code-quote">"James"</span>;
-    
-    producer.Send(request);
-    
-    <span class="code-comment">// lets consume a message
-</span>    ActiveMQTextMessage message = (ActiveMQTextMessage) consumer.Receive();
-    <span class="code-keyword">if</span> (message == <span class="code-keyword">null</span>)
-    {
-        Console.WriteLine(<span class="code-quote">"No message received!"</span>);
-    }
-    <span class="code-keyword">else</span>
-    {
-        Console.WriteLine(<span class="code-quote">"Received message with ID:   "</span>
+ message.JMSMessageId);
-        Console.WriteLine(<span class="code-quote">"Received message with text: "</span>
+ message.Text);
-    }
-}</pre>
-</div></div>
+[Unable to download http://svn.apache.org/repos/asf/incubator/activemq/trunk/openwire-dotnet/tests/OpenWire.Client/TestMain.cs
: http://svn.apache.org/repos/asf/incubator/activemq/trunk/openwire-dotnet/tests/OpenWire.Client/TestMain.cs]
 
 <div class="section_3"><h3><a name="OpenWiredotNet-Asynchronousconsumption"></a>Asynchronous
consumption</h3>
 
 <p>You have the choice of synchronously pulling messages from OpenWire.Net via the
Receive*() methods as shown above or you can use the asynchronous approach as follows</p>
-<div class="code"><div class="codeContent">
-<pre class="code-java">IMessageConsumer consumer = session.CreateConsumer(destination);
-consumer.Listener += <span class="code-keyword">new</span> MessageListener(OnMessage);</pre>
-</div></div>
+[Unable to download http://svn.apache.org/repos/asf/incubator/activemq/trunk/openwire-dotnet/tests/OpenWire.Client/AsyncConsumeTest.cs
: http://svn.apache.org/repos/asf/incubator/activemq/trunk/openwire-dotnet/tests/OpenWire.Client/AsyncConsumeTest.cs]
 <p>The above uses a C# <b>delegate</b> so that the OnMessage() method will
be called whenever a message arrives.</p>
 
 <p>Note that the threading contract is similar to that of JMS - messages are dispatched
for a single session's consumers in one thread at once. Consumers in different sessions can
process messages concurrently but consumers in the same session are guarrenteed to be called
by only one thread at once. e.g. if you have 3 consumers on a session then only one of the
consumers will be called concurrently.</p>

Modified: incubator/activemq/site/Retroactive+Consumer
URL: http://svn.apache.org/viewcvs/incubator/activemq/site/Retroactive%2BConsumer?rev=383094&r1=383093&r2=383094&view=diff
==============================================================================
--- incubator/activemq/site/Retroactive+Consumer (original)
+++ incubator/activemq/site/Retroactive+Consumer Sat Mar  4 03:47:28 2006
@@ -254,9 +254,20 @@
 </center>
 
           </div>
-          <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>
+          <div class="section_2"><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>
 
 <p>See the <a href="/Subscription+Recovery+Policy" title="Subscription Recovery
Policy">Subscription Recovery Policy</a> for more detail.</p>
+
+<div class="section_3"><h3><a name="RetroactiveConsumer-Example"></a>Example</h3>
+
+<p>The priority for a consumer is set using <a href="/Destination+Options" title="Destination
Options">Destination Options</a> as follows:</p>
+
+<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>
 </div>
 </td>



Mime
View raw message