[jboss-cvs] JBoss Messaging SVN: r6976 - trunk/docs/user-manual/en.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri May 22 02:31:36 EDT 2009
Author: ataylor
Date: 2009-05-22 02:31:36 -0400 (Fri, 22 May 2009)
New Revision: 6976
Modified:
trunk/docs/user-manual/en/paging.xml
Log:
more proof reading updates
Modified: trunk/docs/user-manual/en/paging.xml
===================================================================
--- trunk/docs/user-manual/en/paging.xml 2009-05-22 06:03:13 UTC (rev 6975)
+++ trunk/docs/user-manual/en/paging.xml 2009-05-22 06:31:36 UTC (rev 6976)
@@ -1,14 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<chapter id="paging">
<title>Paging</title>
- <para>JBoss Messaging pages messages on disk, avoiding this way running out of Memory.</para>
- <para>Messages are regularly routed to their queues, persisted on disk for eventual recovery in
- case of server failure, sent to consumers or kept in memory if the consumers are not ready
- to read the messages.</para>
- <para>We compute the size of every message routed and stored in memory. When the total reaches a
- max configured size JBoss Messaging starts storing messages on disk. As messages are
- acknowledged and release the memory, we read the page and route messages to the destinations
- on memory.</para>
+ <para>JBoss Messaging supports the paging of messages to disk when memory begins to fill up.
+ This stops the potential of the server running out of memory when receiving lots of
+ messages.</para>
+ <para>Once the amount of memory used by messages held by the server reaches a certain
+ configurable size, JBoss Messaging starts storing messages on disk. These messages are paged
+ back into memory as other messages are delivered and acknowledged by a consumer.</para>
<para>There are two page modes supported by JBoss Messaging. <link linkend="paging.global.mode"
>Global Paging Mode </link> and <link linkend="paging.address.mode">Address Paging Mode
</link></para>
@@ -22,13 +20,11 @@
</section>
<section id="paging.global.mode">
<title>Global Paging Mode</title>
- <para>JBoss Messaging enters into Global Paging Model when the total memory used by queues
- reaches a configured maximum value, determined by <literal><link
+ <para>JBoss Messaging enters into Global Paging Mode when the total memory used by all
+ queues reaches a configured maximum value, determined by <literal><link
linkend="paging.main.config">paging-max-global-size-bytes</link></literal>. </para>
- <para>When the total memory is greater than <literal>paging-max-global-size-bytes</literal>,
- JBoss Messaging starts to page messages. When there is space in memory to fit a page
- file (<literal>global-page-size</literal>) messages are read and routed of the paging
- file.</para>
+ <para>These messages are depaged back into memory once enough memory
+ (<literal>global-page-size</literal>) has been freed up.</para>
<section id="paging.main.config">
<title>Configuration</title>
<para>Global paging parameters are specified on the main configuration file.</para>
@@ -85,9 +81,9 @@
</section>
<section id="paging.address.mode">
<title>Address Paging Mode</title>
- <para>It is possible to configured what's the maximum size individually at the address
- level. As soon as the address is consuming more memory than the maximum configured, that
- address alone goes into page mode.</para>
+ <para>It is also possible to configure paging at the address level. As soon as messages
+ delivered to an address exceed the configured size, that address alone goes into page
+ mode.</para>
<section>
<title>Configuration</title>
<para>Address level config is done at the address settings.</para>
@@ -128,9 +124,9 @@
</row>
<row>
<entry><literal>drop-messages-when-full</literal></entry>
- <entry>if true, messages are dropped instead of paged when <literal
- >used-memory</literal> is greater than <literal
- >max-size</literal></entry>
+ <entry>if true, messages are dropped instead of paged when
+ <literal>used-memory</literal> is greater than
+ <literal>max-size</literal></entry>
<entry>false</entry>
</row>
</tbody>
@@ -141,25 +137,30 @@
</section>
<section>
<title>Caution with Addresses with Multiple Queues</title>
- <para>When a message is sent to multiple queues, on JMS Topics, or on Addresses with
- multiple queues, the same message is shared as a reference between multiple queues. The
- message only leaves the memory when it is consumed in all the queues.</para>
+ <para>When a message is routed to an address that has multiple queues bound to it, i.e. a
+ JMS subscription, there is only 1 copy of the message in memory. Each queue only deals
+ with a reference to this. Because of this the memory is only freed up once all queues
+ referencing the message have delivered it. This means that if not all queues deliver the
+ message we can end up in a state where messages to not get delivered. </para>
<para>For example:</para>
<itemizedlist>
<listitem>
<para>An Address has 10 queues </para>
</listitem>
<listitem>
- <para>It only has 9 consumers. One of the Queues is leaving messages on the
- memory.</para>
+ <para>one of the queues does not deliver its messages (maybe because of a slow
+ consumer).</para>
</listitem>
<listitem>
- <para> Messages are continuously being produced</para>
+ <para> Messages continually arrive at the address and paging is started.</para>
</listitem>
+ <listitem>
+ <para>The other 9 queues are empty even though messages have been sent.</para>
+ </listitem>
</itemizedlist>
- <para>This will make memory to build on the server, and start paging mode eventually. Once
- the Address enters in page mode, messages will be stored on disk and not routed to
- queues until messages are consumed on that queue.</para>
+ <para>In this example we have to wait until the last queue has delivered some of its
+ messages before we depage and the other queues finally receive some more
+ messages.</para>
</section>
<section>
<title>Paging Example</title>
More information about the jboss-cvs-commits
mailing list