Author: chirino
Date: Thu Dec 30 18:09:54 2010
New Revision: 1053959
URL: http://svn.apache.org/viewvc?rev=1053959&view=rev
Log:
Default to using the jdbm2 store as like a more stable default store which we
can redistribute. Updated doco to reflect the change.
Modified:
activemq/activemq-apollo/trunk/apollo-cli/pom.xml
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo-ssl.xml
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo.xml
activemq/activemq-apollo/trunk/apollo-distro/src/main/descriptors/common-bin.xml
activemq/activemq-apollo/trunk/apollo-website/src/documentation/getting-started.md
activemq/activemq-apollo/trunk/apollo-website/src/documentation/user-manual.md
Modified: activemq/activemq-apollo/trunk/apollo-cli/pom.xml
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cli/pom.xml?rev=1053959&r1=1053958&r2=1053959&view=diff
==============================================================================
--- activemq/activemq-apollo/trunk/apollo-cli/pom.xml (original)
+++ activemq/activemq-apollo/trunk/apollo-cli/pom.xml Thu Dec 30 18:09:54 2010
@@ -111,6 +111,12 @@
</dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
+ <artifactId>apollo-jdbm2</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.activemq</groupId>
<artifactId>apollo-web</artifactId>
<version>1.0-SNAPSHOT</version>
<type>jar</type>
Modified:
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo-ssl.xml
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo-ssl.xml?rev=1053959&r1=1053958&r2=1053959&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo-ssl.xml
(original)
+++
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo-ssl.xml
Thu Dec 30 18:09:54 2010
@@ -32,7 +32,7 @@
<admin allow="admins"/>
</acl>
- <web_admin host="127.0.0.1" port="8080"/>
+ <web_admin host="127.0.0.1" port="61680"/>
<virtual_host id="${host}">
<!--
@@ -49,10 +49,10 @@
<acl>
<connect allow="admins"/>
- DTO</acl>
+ </acl>
- <!-- You can delete this element if you want to disable persistent for
this virtual host -->
- <hawtdb_store directory="${apollo.base}/data"/>
+ <!-- You can delete this element if you want to disable persistence for
this virtual host -->
+ <jdbm2_store directory="${apollo.base}/data"/>
</virtual_host>
Modified:
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo.xml
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo.xml?rev=1053959&r1=1053958&r2=1053959&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo.xml
(original)
+++
activemq/activemq-apollo/trunk/apollo-cli/src/main/resources/org/apache/activemq/apollo/cli/commands/etc/apollo.xml
Thu Dec 30 18:09:54 2010
@@ -32,7 +32,7 @@
<admin allow="admins"/>
</acl>
- <web_admin host="127.0.0.1" port="8080"/>
+ <web_admin host="127.0.0.1" port="61680"/>
<virtual_host id="${host}">
<!--
@@ -51,8 +51,8 @@
<connect allow="admins"/>
</acl>
- <!-- You can delete this element if you want to disable persistent for
this virtual host -->
- <hawtdb_store directory="${apollo.base}/data"/>
+ <!-- You can delete this element if you want to disable persistence for
this virtual host -->
+ <jdbm2_store directory="${apollo.base}/data"/>
</virtual_host>
Modified:
activemq/activemq-apollo/trunk/apollo-distro/src/main/descriptors/common-bin.xml
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-distro/src/main/descriptors/common-bin.xml?rev=1053959&r1=1053958&r2=1053959&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-distro/src/main/descriptors/common-bin.xml
(original)
+++
activemq/activemq-apollo/trunk/apollo-distro/src/main/descriptors/common-bin.xml
Thu Dec 30 18:09:54 2010
@@ -30,6 +30,7 @@
<include>org.fusesource.hawtbuf:*</include>
<include>org.fusesource.hawtdispatch:*</include>
<include>org.fusesource.hawtdb:*</include>
+ <include>org.fusesource.jdbm:*</include>
<include>org.codehaus.jackson:jackson-mapper-asl</include>
<include>org.codehaus.jackson:jackson-core-asl</include>
Modified:
activemq/activemq-apollo/trunk/apollo-website/src/documentation/getting-started.md
URL:
http://svn.apache.org/viewvc/activemq/activemq-apollo/trunk/apollo-website/src/documentation/getting-started.md?rev=1053959&r1=1053958&r2=1053959&view=diff
==============================================================================
---
activemq/activemq-apollo/trunk/apollo-website/src/documentation/getting-started.md
(original)
+++
activemq/activemq-apollo/trunk/apollo-website/src/documentation/getting-started.md
Thu Dec 30 18:09:54 2010
@@ -46,7 +46,7 @@ jar -xvf apache-apollo-${project_version
## Install the BDB library
-Apollo's most stable message store implementation is the BDB based message
store.
+Apollo's most robust message store implementation is the BDB based message
store.
Unfortunately, BDB cannot be redistributed by Apache. It is highly recommended
that you add it to your apollo installation. You can 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
@@ -82,11 +82,10 @@ etc directory.
## Updating the Configuration to use BDB
-The default configuration used a hawtdb based store. It still has known
-bugs and not yet stable. Unless you want to help find and squash those bugs,
+The default configuration used a jdbm2 based store. It has known performance
issues so
it is recommend you change the configuration to use the BDB store instead. To
do that,
just update the generated configuration by editing the `etc/apollo.xml` file
and then
-replace `hawtdb_store` with `bdb_store`
+replace `jdbm2_store` with `bdb_store`
## Running a Broker Instance
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=1053959&r1=1053958&r2=1053959&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 30 18:09:54 2010
@@ -248,6 +248,9 @@ 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.
+* [JDBM2 Store](#JDBM2_Store) : is a file based message store implemented
using the
+ [JDBM2](http://code.google.com/p/jdbm2/) 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
@@ -290,6 +293,42 @@ A `bdb_store` element may be configured
* `read_threads` : The number of concurrent read threads to use when
accessing the store. The value defaults to 10.
+###### JDBM2 Store
+
+The JDBM2 store implementation is redistributable by apache so it can
+be used out of the box without having to install any additional software.
+The problem with this store is that it's single threaded in nature and
+subsequently has several unwanted performance problems. For example,
+the store periodically will compact itself to reclaim disk space but
+the compaction is a slow process which pauses access to the store while
+the compaction is running.
+
+You can enable the store by adding a `jdbm2_store` element
+inside your `virtual_host`. Example:
+
+{pygmentize:: xml}
+ ...
+ <virtual_host id="default">
+ ...
+ <jdbm2_store directory="${apollo.base}/data"/>
+ ..
+ </virtual_host>
+ ...
+{pygmentize}
+
+A `jdbm2_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.
+* `compact_interval` : how often the store is compacted in seconds. If
+ this attribute is not set, it will default to 60 seconds. Set to -1
+ to disable compaction altogether.
+
###### HawtDB Store
The HawtDB store implementation is redistributable by apache so it can