Author: buildbot Date: Thu Jun 11 16:20:58 2015 New Revision: 954507 Log: Production update by buildbot for activemq
Modified: websites/production/activemq/content/cache/main.pageCache websites/production/activemq/content/kahadb.html websites/production/activemq/content/stomp.html Modified: websites/production/activemq/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/activemq/content/kahadb.html ============================================================================== --- websites/production/activemq/content/kahadb.html (original) +++ websites/production/activemq/content/kahadb.html Thu Jun 11 16:20:58 2015 @@ -97,7 +97,7 @@ Available as of ActiveMQ 5.10 </div> </div> -</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexWriteBatchSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>number of indexes written in a batch</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexCacheSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>number of index pages cached in memory</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>enableIndexWriteAsync</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>if set, will asynchronously write indexes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>journalMaxFileLength</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>32mb</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>a hint to set the maximum size of the message data logs</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>enableJournalDiskSyncs</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>ensure every journal write is followed by a disk sync (JMS durability requirement)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>cleanupInterval</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>30000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>time (ms) before checking for a discarding/moving message data logs that are no longer used</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>checkpointInterval</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>time (ms) before checkpointing the journal</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ignoreMissingJournalfiles</p></td><td c olspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will ignore a missing message log file</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>checkForCorruptJournalFiles</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will check for corrupted Journal files on startup and try and recover them</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>checksumJournalFiles</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="text-decoration: line-through;">false</span> true <sub>v5.9</sub></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>create a checksum for a journal file - to enable checking for corrupted journals</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>archiveDataLogs</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will >move a message data log to the archive directory instead of deleting >it.</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p>directoryArchive</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>Define the directory to move data logs to when they >all the messages they contain have been consumed.</p></td></tr><tr><td >colspan="1" rowspan="1" class="confluenceTd"><p>maxAsyncJobs</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>the maximum number of asynchronous >messages that will be queued awaiting storage (should be the same as the >number of concurrent MessageProducers)</p></td></tr><tr><td colspan="1" >rowspan="1" >class="confluenceTd"><p>concurrentStoreAndDispatchTopics</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td c olspan="1" rowspan="1" class="confluenceTd"><p>enable the dispatching of Topic messages to interested clients to happen concurrently with message storage</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>concurrentStoreAndDispatchQueues</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>enable the dispatching of Queue messages to interested clients to happen concurrently with message storage</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>archiveCorruptedIndex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, corrupted indexes found at startup will be archived (not deleted)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">preallocationStrategy</td><td colspan="1" rowspan="1" class="confluenceTd">sparse_file</td><td colspan="1" rowspan="1" class="confluenceTd">(as of 5 .12.0) This setting configures how the broker will try to preallocate the journal files when a new journal file is needed. The default allocation strategy sets the file length, but does not populate it with any data. The 'os_kernel_copy' strategy delegates the preallocation to the Operating System. The 'zeros' strategy configures ActiveMQ to do the preallocation by writing 0x00 to all of the positions in the journal file.</td></tr></tbody></table></div><p>For tuning locking properties please take a look at <a shape="rect" href="pluggable-storage-lockers.html">Pluggable storage lockers</a></p><h3 id="KahaDB-Slowfilesystemaccessdiagnosticlogging">Slow file system access diagnostic logging</h3><p>You can configure a non zero threshold in mili seconds for database updates.<br clear="none"> If database operation is slower than that threshold (for example if you set it to 500), you may see messages like</p><div class="panel" style="border-width: 1px;"><div class="panelContent"> +</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexWriteBatchSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>number of indexes written in a batch</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexCacheSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>number of index pages cached in memory</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>enableIndexWriteAsync</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>if set, will asynchronously write indexes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>journalMaxFileLength</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>32mb</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>a hint to set the maximum size of the message data logs</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>enableJournalDiskSyncs</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>ensure every journal write is followed by a disk sync (JMS durability requirement)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>cleanupInterval</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>30000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>time (ms) before checking for a discarding/moving message data logs that are no longer used</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>checkpointInterval</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>time (ms) before checkpointing the journal</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ignoreMissingJournalfiles</p></td><td c olspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will ignore a missing message log file</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>checkForCorruptJournalFiles</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will check for corrupted Journal files on startup and try and recover them</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>checksumJournalFiles</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="text-decoration: line-through;">false</span> true <sub>v5.9</sub></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>create a checksum for a journal file - to enable checking for corrupted journals</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>archiveDataLogs</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, will >move a message data log to the archive directory instead of deleting >it.</p></td></tr><tr><td colspan="1" rowspan="1" >class="confluenceTd"><p>directoryArchive</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" >class="confluenceTd"><p>Define the directory to move data logs to when they >all the messages they contain have been consumed.</p></td></tr><tr><td >colspan="1" rowspan="1" class="confluenceTd"><p>maxAsyncJobs</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" >rowspan="1" class="confluenceTd"><p>the maximum number of asynchronous >messages that will be queued awaiting storage (should be the same as the >number of concurrent MessageProducers)</p></td></tr><tr><td colspan="1" >rowspan="1" >class="confluenceTd"><p>concurrentStoreAndDispatchTopics</p></td><td >colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td c olspan="1" rowspan="1" class="confluenceTd"><p>enable the dispatching of Topic messages to interested clients to happen concurrently with message storage (<strong>Warning</strong>: Enabling this property is not recommended)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>concurrentStoreAndDispatchQueues</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>enable the dispatching of Queue messages to interested clients to happen concurrently with message storage</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>archiveCorruptedIndex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, corrupted indexes found at startup will be archived (not deleted)</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>preallocationStrategy</p></td><td colspan="1" rowspan="1" class="confluence Td"><p>sparse_file</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(as of 5.12.0) This setting configures how the broker will try to preallocate the journal files when a new journal file is needed. The default allocation strategy sets the file length, but does not populate it with any data. The 'os_kernel_copy' strategy delegates the preallocation to the Operating System. The 'zeros' strategy configures ActiveMQ to do the preallocation by writing 0x00 to all of the positions in the journal file.</p></td></tr></tbody></table></div><p>For tuning locking properties please take a look at <a shape="rect" href="pluggable-storage-lockers.html">Pluggable storage lockers</a></p><h3 id="KahaDB-Slowfilesystemaccessdiagnosticlogging">Slow file system access diagnostic logging</h3><p>You can configure a non zero threshold in mili seconds for database updates.<br clear="none"> If database operation is slower than that threshold (for example if you set it to 500), you may see messages like</p><div class="panel" style="border-width: 1px;"><div class="panelContent"> <p>Slow KahaDB access: cleanup took 1277 | org.apache.activemq.store.kahadb.MessageDatabase | ActiveMQ Journal Checkpoint Worker</p> </div></div><p>You can configure a threshold used to log these messages by using a system property and adjust it to your disk speed so that you can easily pick up runtime anomalies.</p><div class="panel" style="border-width: 1px;"><div class="panelContent"> <p>-Dorg.apache.activemq.store.kahadb.LOG_SLOW_ACCESS_TIME=1500</p> Modified: websites/production/activemq/content/stomp.html ============================================================================== --- websites/production/activemq/content/stomp.html (original) +++ websites/production/activemq/content/stomp.html Thu Jun 11 16:20:58 2015 @@ -97,7 +97,9 @@ </div></div><p>To see a full example, try <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/activemq/trunk/assembly/src/release/example/conf/activemq.xml">this XML</a>. If you save that XML as foo.xml then you can run stomp via the command line as</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[activemq xbean:foo.xml ]]></script> -</div></div><p>For more help see <a shape="rect" href="run-broker.html">Run Broker</a>.</p><h3 id="Stomp-Security">Security</h3><p>Stomp implementation fully supports an <a shape="rect" href="security.html">ActiveMQ security</a> mechanism. This means that the <code>CONNECT</code> command will return an <code>ERROR</code> frame on unsuccessful authentication. Also, the authorization policies will be applied when you try to access (read/write) certain destinations. If you use synchronous operations (by using <a shape="rect" class="external-link" href="http://stomp.github.com/stomp-specification-1.1.html#RECEIPT" rel="nofollow">receipts</a>), you can expect an <code>ERROR</code> frame in case of unauthorized access attempt. In other case, operations will be discarded but the client will not be informed of errors. This also stands for all other errors that can happen on the broker side.</p> <div class="aui-message hint shadowed information-macro"> +</div></div><p>For more help see <a shape="rect" href="run-broker.html">Run Broker</a>.</p><h3 id="Stomp-TheStompWireFormat">The Stomp Wire Format</h3><p>Stomp uses a text based wire format that can be configured with the following options.  All options can be configured on a Brokers transport bind URI.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Parameter Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxDataLength</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>104857600</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Maximum size of the message body (content) that can be sent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxFrameSize</p></td><td colspan="1" rowspan="1" class="conflu enceTd"><p>MAX_LONG</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>(v5.12.0) Maximum frame size that can be sent. A Stomp frame includes a command, optional headers, and an optional body. Can help help prevent OOM DOS attacks</p></td></tr></tbody></table></div><p>All options must be prepended with <code>wireFormat</code> in order to take effect. Without this proper formatting, the option will have zero effect.</p><h4 id="Stomp-ExampleWireFormatConfiguration">Example Wire Format Configuration<br clear="none"> </h4><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[ <transportConnector name="stomp+ssl" uri="stomp+ssl://localhost:61612?wireFormat.maxFrameSize=1000000"/>]]></script> +</div></div><h3 id="Stomp-Security">Security</h3><p>Stomp implementation fully supports an <a shape="rect" href="security.html">ActiveMQ security</a> mechanism. This means that the <code>CONNECT</code> command will return an <code>ERROR</code> frame on unsuccessful authentication. Also, the authorization policies will be applied when you try to access (read/write) certain destinations. If you use synchronous operations (by using <a shape="rect" class="external-link" href="http://stomp.github.com/stomp-specification-1.1.html#RECEIPT" rel="nofollow">receipts</a>), you can expect an <code>ERROR</code> frame in case of unauthorized access attempt. In other case, operations will be discarded but the client will not be informed of errors. This also stands for all other errors that can happen on the broker side.</p> <div class="aui-message hint shadowed information-macro"> <p class="title">Availability</p> <span class="aui-icon icon-hint">Icon</span> <div class="message-content">