activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r917092 - in /websites/production/activemq/content: cache/main.pageCache persistence.html
Date Tue, 22 Jul 2014 12:21:03 GMT
Author: buildbot
Date: Tue Jul 22 12:21:02 2014
New Revision: 917092

Log:
Production update by buildbot for activemq

Modified:
    websites/production/activemq/content/cache/main.pageCache
    websites/production/activemq/content/persistence.html

Modified: websites/production/activemq/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/activemq/content/persistence.html
==============================================================================
--- websites/production/activemq/content/persistence.html (original)
+++ websites/production/activemq/content/persistence.html Tue Jul 22 12:21:02 2014
@@ -83,112 +83,41 @@
   <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Persistence-ActiveMQV5.9">ActiveMQ
V5.9</h2>
-
-<p>In ActiveMQ 5.9, the <a shape="rect" href="replicated-leveldb-store.html">Replicated
LevelDB Store</a> is introduced.  It handles using <a shape="rect" class="external-link"
href="http://zookeeper.apache.org/">Apache ZooKeeper</a> to pick a master from a
set of broker nodes configured to replicate single LevelDB Store.  Then synchronizes all slave
LevelDB Stores with the master keeps them up to date by replicating all updates to the master.
 This might become the preferred <a shape="rect" href="masterslave.html">Master Slave</a>
configuration going forward.</p>
-
-<h2 id="Persistence-ActiveMQV5.8">ActiveMQ V5.8</h2>
-
-<p>In ActiveMQ 5.8, the <a shape="rect" href="leveldb-store.html">LevelDB Store</a>
was introduced.  The LevelDB Store is a file based persistence database. It has been optimized
to provide even faster persistence than KahaDB.  Although not yet the default message store,
we expect this store implementation become the default in future releases.</p>
-
-<h2 id="Persistence-ActiveMQV5.3">ActiveMQ V5.3</h2>
-
-<p>From 5.3 onwards - we recommend you use <a shape="rect" href="kahadb.html">KahaDB</a>
- which offers improved scalability and recoverability over the <a shape="rect" href="amq-message-store.html">AMQ
Message Store</a>.<br clear="none">
-The <a shape="rect" href="amq-message-store.html">AMQ Message Store</a> which
although faster than <a shape="rect" href="kahadb.html">KahaDB</a> - does not
scales as well as <a shape="rect" href="kahadb.html">KahaDB</a> and recovery times
take longer.</p>
-
-<h2 id="Persistence-ActiveMQV4">ActiveMQ V4</h2>
-<p>For long term persistence we recommend using JDBC coupled with our high performance
journal. You can use just JDBC if you wish but its quite slow.</p>
-
-<p>Our out of the box default configuration uses <a shape="rect" class="external-link"
href="http://incubator.apache.org/derby/">Apache Derby</a> as the default database,
which is easy to embed - but we support all the <a shape="rect" href="jdbc-support.html">major
SQL databases</a> - just reconfigure your JDBC configuration in the <a shape="rect"
href="xml-configuration.html">Xml Configuration</a>.</p>
-
-<h2 id="Persistence-Highperformancejournal-ActiveMQ4.x">High performance journal -
ActiveMQ 4.x</h2>
-
-<p>To achieve high performance of durable messaging in ACtiveMQ V4.x we strongly recommend
you use our high performance journal - which is enabled by default. This works rather like
a database; messages (and transcation commits/rollbacks and message acknowledgements) are
written to the journal as fast as is humanly possible - then at intervals we checkpoint the
journal to the long term persistence storage (in this case JDBC).</p>
-
-<p>Its common when using queues for example that messages are consumed fairly shortly
after being published; so you could publish 10,000 messages and only have a few messages outstanding
- so when we checkpoint to the JDBC database, we often have only a small amount of messages
to actually write to JDBC. Even if we have to write all the messages to the JDBC, we still
get performance gains with the journal, since we can use a large transaction batch to insert
the messages into the JDBC database to boost performance on the JDBC side.</p>
-
-<p>Our journal is based on lots of the great work in the <a shape="rect" class="external-link"
href="http://howl.objectweb.org/" rel="nofollow">Howl</a> project; we keep close
ties to the Howl community. However since ActiveMQ has to handle arbitarily large message
sizes, we've had to make our journal handle any size of message and so we don't use the fixed
size record model that Howl uses.</p>
-
-<h2 id="Persistence-Configuringpersistence">Configuring persistence</h2>
-
-<p>For full explict control over configuration check out the <a shape="rect" href="xml-configuration.html">Xml
Configuration</a>. However a quick way to set which persistence adapter to use is to
set the following system property to be the class name of the PersistenceAdapter implementation.</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-activemq.persistenceAdapter
+<div class="wiki-content maincontent"><h2 id="Persistence-ActiveMQV5.9">ActiveMQ
V5.9</h2><p>In ActiveMQ 5.9, the <a shape="rect" href="replicated-leveldb-store.html">Replicated
LevelDB Store</a> is introduced. It handles using <a shape="rect" class="external-link"
href="http://zookeeper.apache.org/">Apache ZooKeeper</a> to pick a master from a
set of broker nodes configured to replicate single LevelDB Store. Then synchronizes all slave
LevelDB Stores with the master keeps them up to date by replicating all updates to the master.
This might become the preferred <a shape="rect" href="masterslave.html">Master Slave</a>
configuration going forward.</p><h2 id="Persistence-ActiveMQV5.8">ActiveMQ V5.8</h2><p>In
ActiveMQ 5.8, the <a shape="rect" href="leveldb-store.html">LevelDB Store</a>
was introduced. The LevelDB Store is a file based persistence database. It has been optimized
to provide even faster persistence than KahaDB. Although not yet the default message store,
we expect this sto
 re implementation become the default in future releases.</p><h2 id="Persistence-ActiveMQV5.3">ActiveMQ
V5.3</h2><p>From 5.3 onwards - we recommend you use <a shape="rect" href="kahadb.html">KahaDB</a>
- which offers improved scalability and recoverability over the <a shape="rect" href="amq-message-store.html">AMQ
Message Store</a>.<br clear="none"> The <a shape="rect" href="amq-message-store.html">AMQ
Message Store</a> which although faster than <a shape="rect" href="kahadb.html">KahaDB</a>
- does not scales as well as <a shape="rect" href="kahadb.html">KahaDB</a> and
recovery times take longer.</p><h2 id="Persistence-ActiveMQV4">ActiveMQ V4</h2><p>For
long term persistence we recommend using JDBC coupled with our high performance journal. You
can use just JDBC if you wish but its quite slow.</p><p>Our out of the box default
configuration uses <a shape="rect" class="external-link" href="http://incubator.apache.org/derby/">Apache
Derby</a> as the default database, which is easy to em
 bed - but we support all the <a shape="rect" href="jdbc-support.html">major SQL databases</a>
- just reconfigure your JDBC configuration in the <a shape="rect" href="xml-configuration.html">Xml
Configuration</a>.</p><h2 id="Persistence-Highperformancejournal-ActiveMQ4.x">High
performance journal - ActiveMQ 4.x</h2><p>To achieve high performance of durable
messaging in ACtiveMQ V4.x we strongly recommend you use our high performance journal - which
is enabled by default. This works rather like a database; messages (and transcation commits/rollbacks
and message acknowledgements) are written to the journal as fast as is humanly possible -
then at intervals we checkpoint the journal to the long term persistence storage (in this
case JDBC).</p><p>Its common when using queues for example that messages are consumed
fairly shortly after being published; so you could publish 10,000 messages and only have a
few messages outstanding - so when we checkpoint to the JDBC database, we often have o
 nly a small amount of messages to actually write to JDBC. Even if we have to write all the
messages to the JDBC, we still get performance gains with the journal, since we can use a
large transaction batch to insert the messages into the JDBC database to boost performance
on the JDBC side.</p><p>Our journal is based on lots of the great work in the
<a shape="rect" class="external-link" href="http://howl.objectweb.org/" rel="nofollow">Howl</a>
project; we keep close ties to the Howl community. However since ActiveMQ has to handle arbitarily
large message sizes, we've had to make our journal handle any size of message and so we don't
use the fixed size record model that Howl uses.</p><h2 id="Persistence-Configuringpersistence">Configuring
persistence</h2><p>For full explict control over configuration check out the <a
shape="rect" href="xml-configuration.html">Xml Configuration</a>. However a quick
way to set which persistence adapter to use is to set the following system property to be
  the class name of the PersistenceAdapter implementation.</p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[activemq.persistenceAdapter
 ]]></script>
-</div></div>
-<p>When running the broker from the command line, we look for the activemq.xml on the
classpath unless you specify one to use. e.g.<br clear="none">
-<strong>AMQ 4.x</strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-activemq xbean:file:myconfig.xml
+</div></div><p>When running the broker from the command line, we look for
the activemq.xml on the classpath unless you specify one to use. e.g.<br clear="none">
<strong>AMQ 4.x</strong></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[activemq
xbean:file:myconfig.xml
 ]]></script>
-</div></div>
-<p><strong>AMQ 3.x</strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-activemq myconfig.xml
+</div></div><p><strong>AMQ 3.x</strong></p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[activemq
myconfig.xml
 ]]></script>
-</div></div>
-
-<p>or just<br clear="none">
-<strong>AMQ3.x/AMQ4.x</strong></p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-activemq
+</div></div><p>or just<br clear="none"> <strong>AMQ3.x/AMQ4.x</strong></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[activemq
 ]]></script>
-</div></div>
-<p>Here is a sample XML configuration which shows how to configure the journal and
the JDBC persistence.</p>
-
-<p>AMQ 4.x</p>
-<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException:
Index: 20, Size: 20</span> </div>
-
-<p>For more details see the <a shape="rect" href="initial-configuration.html">Initial
Configuration</a> guide.</p>
-
-<h2 id="Persistence-JDBCPersistencewithoutJournaling">JDBC Persistence without Journaling</h2>
-
-<p>To enable JDBC persistence of JMS messages without journaling, we need to change
the message broker's default persistence configuration from<br clear="none">
-<strong>AMQ 4.x</strong></p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;persistenceAdapter&gt;
+</div></div><p>Here is a sample XML configuration which shows how to configure
the journal and the JDBC persistence.</p><p>AMQ 4.x</p><div class="error"><span
class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index:
20, Size: 20</span> </div><p>For more details see the <a shape="rect"
href="initial-configuration.html">Initial Configuration</a> guide.</p><h2
id="Persistence-JDBCPersistencewithoutJournaling">JDBC Persistence without Journaling</h2><p>To
enable JDBC persistence of JMS messages without journaling, we need to change the message
broker's default persistence configuration from<br clear="none"> <strong>AMQ 4.x</strong></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;persistenceAdapter&gt;
       &lt;journaledJDBC journalLogFiles=&quot;5&quot; dataDirectory=&quot;../activemq-data&quot;/&gt;
 &lt;/persistenceAdapter&gt;
 ]]></script>
-</div></div>
-<p>to</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;persistenceAdapter&gt;
+</div></div><p>to</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;persistenceAdapter&gt;
       &lt;jdbcPersistenceAdapter dataSource=&quot;#my-ds&quot;/&gt;
 &lt;/persistenceAdapter&gt;
 ]]></script>
-</div></div>
-
-
-<p><strong>For AMQ 3.x</strong></p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;persistence&gt;
+</div></div><p><strong>For AMQ 3.x</strong></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;persistence&gt;
   &lt;journalPersistence directory=&quot;../var/journal&quot;&gt;
       &lt;jdbcPersistence dataSourceRef=&quot;derby-ds&quot;/&gt;
   &lt;/journalPersistence&gt;
 &lt;/persistence&gt;
 ]]></script>
-</div></div>
-<p>to</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;persistence&gt;
+</div></div><p>to</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;persistence&gt;
      &lt;jdbcPersistence dataSourceRef=&quot;derby-ds&quot;/&gt;
  &lt;/persistence&gt;
 ]]></script>
-</div></div>
-<p>Make sure to send durable messages so that it will be persisted in the database
server while waiting to be consumed by clients. More information on configuration JDBC persistence
at <a shape="rect" href="jdbc-support.html">JDBC Support</a></p>
-
-<h2 id="Persistence-KahaPersistence">Kaha Persistence</h2>
+</div></div><p>Make sure to send durable messages so that it will be persisted
in the database server while waiting to be consumed by clients. More information on configuration
JDBC persistence at <a shape="rect" href="jdbc-support.html">JDBC Support</a></p><p></p><h2
id="Persistence-KahaPersistence">Kaha Persistence</h2>
 
 <p>Kaha Peristence is a storage solution written especially for message persistence
and is part of the ActiveMQ project. It's tuned to provide optimal performance for typical
message usage patterns, which involves writing/reading and discarding messages that are persisted
very quickly.</p>
 
@@ -227,24 +156,11 @@ activemq
     &lt;/persistenceAdapter&gt;
   &lt;/broker&gt;
 ]]></script>
-</div></div>
-
-<h2 id="Persistence-DisasterRecoveryoptions">Disaster Recovery options</h2>
-
-<p>For people with high <a shape="rect" href="dr.html">DR</a> requirements
we have various options for providing a <a shape="rect" href="replicated-message-store.html">Replicated
Message Store</a> to allow full failover in times of major data centre failure.</p>
-
-<h2 id="Persistence-DisablingPersistence">Disabling Persistence</h2>
-
-<p>If you don't want persistence at all you can disable it easily via the <a shape="rect"
href="xml-configuration.html">Xml Configuration</a>. e.g.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
-<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[
-&lt;broker persistent=&quot;false&quot;&gt;
+</div></div><h2 id="Persistence-DisasterRecoveryoptions">Disaster Recovery
options</h2><p>For people with high <a shape="rect" href="dr.html">DR</a>
requirements we have various options for providing a <a shape="rect" href="replicated-message-store.html">Replicated
Message Store</a> to allow full failover in times of major data centre failure.</p><h2
id="Persistence-DisablingPersistence">Disabling Persistence</h2><p>If you don't
want persistence at all you can disable it easily via the <a shape="rect" href="xml-configuration.html">Xml
Configuration</a>. e.g.</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[&lt;broker
persistent=&quot;false&quot;&gt;
 &lt;/broker&gt;
 ]]></script>
-</div></div>
-<p>This will make the broker use the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/activemq-core/apidocs/org/apache/activemq/store/memory/MemoryPersistenceAdapter.html">&lt;memoryPersistenceAdapter&gt;</a><br
clear="none">
-For an example of using a configuration URI see <a shape="rect" href="how-to-unit-test-jms-code.html">How
to unit test JMS code</a></p></div>
+</div></div><p>This will make the broker use the <a shape="rect" class="external-link"
href="http://activemq.apache.org/maven/apidocs/org/apache/activemq/store/memory/MemoryPersistenceAdapter.html">&lt;memoryPersistenceAdapter&gt;</a><br
clear="none"> For an example of using a configuration URI see <a shape="rect" href="how-to-unit-test-jms-code.html">How
to unit test JMS code</a></p></div>
         </td>
         <td valign="top">
           <div class="navigation">



Mime
View raw message