activemq-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From chir...@apache.org
Subject svn commit: r1050073 - in /activemq/activemq-apollo/trunk: apollo-website/src/documentation/user-manual.md pom.xml
Date Thu, 16 Dec 2010 17:47:49 GMT
Author: chirino
Date: Thu Dec 16 17:47:49 2010
New Revision: 1050073

URL: http://svn.apache.org/viewvc?rev=1050073&view=rev
Log:
More doco.

Modified:
    activemq/activemq-apollo/trunk/apollo-website/src/documentation/user-manual.md
    activemq/activemq-apollo/trunk/pom.xml

Modified: activemq/activemq-apollo/trunk/apollo-website/src/documentation/user-manual.md
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-website/src/documentation/user-manual.md?rev=1050073&r1=1050072&r2=1050073&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-website/src/documentation/user-manual.md (original)
+++ activemq/activemq-apollo/trunk/apollo-website/src/documentation/user-manual.md Thu Dec
16 17:47:49 2010
@@ -1,6 +1,6 @@
 # Apollo ${project_version} User Manual
 
-{:toc}
+{:toc:2-5}
 
 ## Creating a Broker
 
@@ -100,6 +100,8 @@ Brokers can be configured with multiple 
 A broker connector is used to accept new connections to the broker.
 A `connector` element can be configured with the following attributes
 
+* `enabled` : if set to false, then the connector host will be disabled.
+
 * `bind` : The transport that the connector will listen on, it includes the
   ip address and port that it will bind to.
 
@@ -138,6 +140,8 @@ virtual host defined in the configuratio
 
 A `virtual-host` element may be configured with the following attributes:
 
+* `enabled` : if set to false, then the virtual host will be disabled.
+
 * `purge_on_startup` : if set to true, the persistent state of the broker
    will be purged when the broker is started up.
 
@@ -218,6 +222,94 @@ memory.
   pointers to the actual messages. When not loaded, the batch is referenced
   as sequence range to conserve memory.
 
+##### Message Stores
+
+A message store is used to implement reliable messaging and message
+swapping which are both optional features that disabled if no message
+store is configured on the virtual host. If no message store is
+configured, then all message routing is performed in memory and queue will
+quickly "fill up" when you have slow or no consumers since the messages
+cannot get swapped to disk.
+
+${project_name} supports multiple message store implementations.  The 
+implementations currently supported are:
+
+* [BDB Store](#BDB_Store) : is a file based message store implemented using the 
+  [Sleepycat BDB](http://en.wikipedia.org/wiki/Berkeley_DB) library.
+  This is the most stable implementation.
+* [HawtDB Store](#HawtDB_Store) : is a file based message store implemented using the 
+  [HawtDB](http://hawtdb.fusesource.org/) library.  This implementation
+  has known bugs and not recommend to be used unless your good with a 
+  debugger.
+
+###### BDB Store
+
+Apache cannot redistribute the BDB library due to the terms of it's
+license, but you can easily get a free copy directly from Oracle. Before
+you can start using the BDB Store you must first download it from Oracle
+at [je-4.1.6.jar](http://download.oracle.com/maven/com/sleepycat/je/4.1.6/je-4.1.6.jar)
+and then copy it into the `${APOLLO_HOME}/lib` directory.
+
+For those of you with curl installed, you can just run:
+
+    curl http://download.oracle.com/maven/com/sleepycat/je/4.1.6/je-4.1.6.jar > ${APOLLO_HOME}/lib/je-4.1.6.jar
+
+Once that is done, you can enable the store by adding a `bdb-store` element
+inside your `virtual-host`.  Example:
+    
+{pygmentize:: xml}
+  ...
+  <virtual-host id="default">
+    ...
+    <bdb-store directory="${apollo.base}/data"/>
+    ..
+  </virtual-host>
+  ...
+{pygmentize}
+
+A `bdb-store` element may be configured with the following attributes:
+
+* `directory` : The directory which the store will use to hold it's data
+  files. The store will create the directory if it does not already
+  exist.
+* `flush_delay` : The flush delay is the amount of time in milliseconds
+  that a store will delay persisting a messaging unit of work in hopes
+  that it will be invalidated shortly thereafter by another unit of work
+  which would negate the operation.
+* `read_threads` : The number of concurrent read threads to use when
+  accessing the store. The value defaults to 10.
+
+###### HawtDB Store
+
+The HawtDB store implementation is redistributable by apache so it can 
+be used out of the box without having to install any additional software.
+The problem is that it is still unstable and you should only use it
+if your willing to dive in with a debugger to help solidify the 
+implementation.
+
+You can enable the store by adding a `hawtdb-store` element
+inside your `virtual-host`.  Example:
+    
+{pygmentize:: xml}
+  ...
+  <virtual-host id="default">
+    ...
+    <hawtdb-store directory="${apollo.base}/data"/>
+    ..
+  </virtual-host>
+  ...
+{pygmentize}
+
+A `hawtdb-store` element may be configured with the following attributes:
+
+* `directory` : The directory which the store will use to hold it's data
+  files. The store will create the directory if it does not already
+  exist.
+* `flush_delay` : The flush delay is the amount of time in milliseconds
+  that a store will delay persisting a messaging unit of work in hopes
+  that it will be invalidated shortly thereafter by another unit of work
+  which would negate the operation.
+
 ### Security
 
 #### Using SSL/TLS
@@ -348,7 +440,7 @@ Bellow you will find an example which:
   only app1 users can subscribe to them.
 
 {pygmentize:: xml}
-<broker>
+<broker ...>
   ...
   <acl>
     <admin name="admins"/>
@@ -385,6 +477,63 @@ Bellow you will find an example which:
 </broker>
 {pygmentize}
 
+### Web Based Administration
+
+${project_name} start a web based administration interface on 
+[`http://127.0.0.1:8080`](http://127.0.0.1:8080) by default.  Note
+that it binds to the loopback interface so that only local web 
+browsers can access the interface.
+
+If the broker has authentication enabled and has defined an ACL
+configuring the admins of the broker, then the web interface will 
+perform basic authentication and will only grant access to those users
+which are in the admin ACL.
+
+If you want to change the port or the interface it binds on or perhaps
+even disable it altogether, then you should add a `web-admin`
+configuration element inside the `broker` element to change the
+default settings. For example:
+
+{pygmentize:: xml}
+<broker ...>
+  ...
+  <web-admin host="127.0.0.1" port="8001"/>
+  ...
+</broker>
+{pygmentize}
+
+A `web-admin` element may be configured with the following attributes:
+
+* `host` : The amount of memory buffer space allocated for each queue.
+* `port` : The amount of memory buffer space allocated to each
+* `prefix` : The prefix path to the web administration application
+* `enabled` : If set to false then web administration is disabled. 
+
+
+
+## Managing Brokers
+
+### Starting a Broker Instance
+
+Assuming you created the broker instance under `/var/lib/mybroker` all you need
+to do start running the broker instance in the foreground is execute:
+
+    /var/lib/mybroker/bin/apollo-broker run
+
+### Stopping a Broker Instance
+
+*TODO*
+
+### Viewing Broker State
+
+${project_name} provides a web based interface for administrators to inspect
+the runtime state of the Broker.  If your running the broker on your local
+machine, just open your web browser to [`http://localhost:8080`](http://localhost:8080).
+
+The web interface will display the status of the the connectors and show
+attached connections.  It will also allow you to drill into each configured
+virtual host and view the destinations and queues being used. 
+
 ## Using the STOMP Protocol
 
 Clients can connect to ${project_name} using the
@@ -406,7 +555,7 @@ to get familiar with it before using one
 There are many open source STOMP clients for different platforms and
 languages.  You can find a full listing of available clients at:
 
-* http://stomp.github.com/implementations.html#Clients
+* [`http://stomp.github.com/implementations.html#Clients`](http://stomp.github.com/implementations.html#Clients)
 
 The ${project_name} distribution ships with an `examples` directory
 where you can find some simple examples of how to use some of those

Modified: activemq/activemq-apollo/trunk/pom.xml
URL: http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/pom.xml?rev=1050073&r1=1050072&r2=1050073&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/pom.xml (original)
+++ activemq/activemq-apollo/trunk/pom.xml Thu Dec 16 17:47:49 2010
@@ -105,7 +105,7 @@
     <jasypt-version>1.6</jasypt-version>
 
     <scalate-version>1.3.2</scalate-version>
-    <scalamd-version>1.2</scalamd-version>
+    <scalamd-version>1.3</scalamd-version>
 
     <servlet-api-version>2.5</servlet-api-version>
     <jackson-version>1.6.1</jackson-version>



Mime
View raw message