activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r1136694 - in /activemq/activemq-apollo/trunk: apollo-dto/src/main/java/org/apache/activemq/apollo/dto/ apollo-website/src/documentation/ apollo-website/src/documentation/ apollo-website/src/
Date Thu, 16 Jun 2011 21:44:15 GMT
Author: chirino
Date: Thu Jun 16 21:44:15 2011
New Revision: 1136694

Doc improvements.


Modified: activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/
--- activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/
+++ activemq/activemq-apollo/trunk/apollo-dto/src/main/java/org/apache/activemq/apollo/dto/
Thu Jun 16 21:44:15 2011
@@ -54,7 +54,7 @@ public class QueueDTO extends StringIdDT
     public Integer queue_buffer;
-     *  The amount of memory buffer space to use per subscription.
+     *  The amount of memory buffer space to use per consumer.
     public Integer consumer_buffer;
@@ -74,7 +74,7 @@ public class QueueDTO extends StringIdDT
      * The number max number of swapped queue entries to load
-     * from the store at a time.  Not that swapped entries are just
+     * from the store at a time.  Note that swapped entries are just
      * reference pointers to the actual messages.  When not loaded,
      * the batch is referenced as sequence range to conserve memory.

Modified: activemq/activemq-apollo/trunk/apollo-website/src/documentation/
--- activemq/activemq-apollo/trunk/apollo-website/src/documentation/ (original)
+++ activemq/activemq-apollo/trunk/apollo-website/src/documentation/ Thu Jun
16 21:44:15 2011
@@ -99,3 +99,37 @@ services.
 See the [Management API](management-api.html) documentation for
+### Message Swapping
+Apollo can very efficiently work with both large and small queues due to
+the way it implements message swapping. If you have a large queue with
+millions of messages, and are slowly processing them, then it makes no
+sense to keep all those messages in memory. They just need to be loaded
+when the consumers are ready to receive them.
+A queue in apollo has a configuration entry called `consumer_buffer` which
+is the amount of memory dedicated to that consumer for prefetching into
+memory the next set of messages that consumer will need. The queue will
+asynchronously load messages from the message store so that they will be
+in memory by the time the consumer is ready to receive the the message.
+The rate of consumption/position of the consumers in the queue will also
+affect how newly enqueued messages are handled. If no consumers are near
+the tail of the queue where new messages are placed, then the message gets
+swapped out of memory asap. If they consumers are near the tail of the
+queue, then the message is retained in memory for as long as possible in
+hopes that you can avoid a swap out and then back in.
+When a message is swapped out of memory, it can be in one of 2 swapped out
+states: 'swapped' or 'swapped range'. A message in 'swapped' state still
+has a small reference node in the list of messages the queue maintains.
+This small reference holds onto some accounting information about the
+message and how to quickly retrieve the message from the message store.
+Once a queue builds up many adjacent messages (defaults to 10,000) that
+are in the 'swapped' state, it will replace all those individual reference
+node entires in memory with a single range reference node. Once that
+happens, the message is in a 'swapped range'.  

Modified: activemq/activemq-apollo/trunk/apollo-website/src/documentation/
--- activemq/activemq-apollo/trunk/apollo-website/src/documentation/ (original)
+++ activemq/activemq-apollo/trunk/apollo-website/src/documentation/ Thu Jun
16 21:44:15 2011
@@ -49,9 +49,20 @@ following files.
 * `etc/` : Holds groups to users mappings so that you can
   simplify access control lists (ACL) by using group instead listing individual
+* `black-list.txt` : A list of IP address which are banned from connecting 
+  to the broker.
+### Automatic Configuration Reloading
+Once a broker is started, you can edit any of the configuration files in
+the `etc` directory and your changes will be automatically be reloaded.  The
+configuration update will be applied in the least non-disruptive way possible.
+For example, if you removed a connector, the port that connector was listening
+on will be released an no new connections will be accepted.  But connections
+that were previously accepted by that connector will continue to operate normally.
 ### Adjusting JVM Settings
 You can define the following environment variables in the `bin/apollo-broker`
@@ -72,6 +83,10 @@ unix script.
 ### Understanding the `apollo.xml` File
+There are many XSD aware XML editors which make editing XML configuration
+file less error prone.  If your using one of these editors, you can 
+configure it to use this [apollo.xsd](schema/apollo.xsd) file.
 The simplest valid `apollo.xml` defines a single virtual host and a
 single connector.
@@ -136,9 +151,8 @@ and port to determine to which local int
 The TCP URI also supports several query parameters to fine tune the
 settings used on the socket.  The supported parameters are:
-* `receive_buffer_size` : Sets the size of the internal socket receive buffer 
-   and the size of the TCP receive window that is advertised to the remote 
-   peer.  Defaults to 65536 (64k)
+* `buffer_size` : Sets the size of the internal socket send and 
+   receive buffers.  Defaults to 65536 (64k)
 * `traffic_class` : Sets traffic class or type-of-service octet in the IP 
   header for packets sent from the transport.  Defaults to `8` which
@@ -155,7 +169,7 @@ settings used on the socket.  The suppor
 Example which uses a couple of options:
 {pygmentize:: xml}
-<connector id="tcp" bind="tcp://;max_read_rate=65536"/>
+<connector id="tcp" bind="tcp://;max_read_rate=65536"/>
 Note that `&amp;` was used to separate the option values instead of just `&` since

Modified: activemq/activemq-apollo/trunk/apollo-website/src/
--- activemq/activemq-apollo/trunk/apollo-website/src/ (original)
+++ activemq/activemq-apollo/trunk/apollo-website/src/ Thu Jun 16 21:44:15 2011
@@ -43,17 +43,17 @@ ActiveMQ 5.x JMS clients.
 * [Queue Browsers](documentation/user-manual.html#Browsing_Subscriptions)
 * [Durable Subscriptions on Topics](documentation/user-manual.html#Topic_Durable_Subscriptions)
 * [Reliable Messaging](documentation/user-manual.html#Reliable_Messaging)
-* Message swapping
+* [Message Swapping](documentation/architecture.html#Message_Swapping)
 * [Message Selectors](documentation/user-manual.html#Message_Selectors)
 * [JAAS Authentication](documentation/user-manual.html#Authentication)
-* [ACL Authorization](documentation/user-manual.html#Authorization)
-* [SSL/TLS Support](documentation/user-manual.html#Using_SSL_TLS)
-* [REST Based Management](documentation/architecture.html#REST_Based_Management)
+* [ACL based Authorization](documentation/user-manual.html#Authorization)
+* [SSL/TLS Support](documentation/user-manual.html#Using_SSL_TLS) and Certificate based Authentication
+* [REST Management API](documentation/management-api.html)
 ## Documentation
  * [Getting Started Guide](documentation/getting-started.html)
  * [User Manual](documentation/user-manual.html)
- * [Management API](documentation/management-api.html)

View raw message