Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Info

This page is no longer maintained. For up to date documentation, please refer to the Stores section in the Java Broker book.

Qpid Persistence Options

There are currently two options for persistence in Qpid, as shown in the table below.

Persistence Style

Provider

Advantages

Disadvantages

In-Memory

Qpid MemoryMessageStore

Comes as part of the Qpid package

Not persistent

Derby DB Store

Qpid DerbyMessageStore

Allows persistence for larger messages/volumes

Limited testing reported

Berkeley DB Store

Berkeley project

Allows persistence for larger messages/volumes

Not Apache licensed

...

Using In-Memory persistence is the default when you install Qpid and requires no additional install/configuration.

Using Derby Message Store

Simply use the following Store class:

Code Block
xml
xml
<store>
    <class>org.apache.qpid.server.store.DerbyMessageStore</class>
</store>

Using Berkeley DB Persistence

...

If you choose to use the Berkeley DB solution for scalability purposes then you should download & install version 3.1 from http://www.oracle.com/technology/software/products/berkeley-db/je/index.htmlImage Removed

Amend your Qpid configuration to switch BDB on

...

To use BDB, simply add the following element:

Code Block
xml
xml

<store>
    <class>org.apache.qpid.server.store.berkeleydb.BDBMessageStore</class>
</store>

...

So, first set your classpath to something like this:

No Format

CLASSPATH=$QPID_HOME/lib/qpid-incubating.jar:$QPID_HOME/lib/bdbstore.jar:$QPID_HOME/lib/je-<version>.jar

Then, run qpid-server passing the following additional flag:

No Format

qpid-server -run:external-classpath=first

You can check the classpath being used by adding an additional option to output the classpath in use:

No Format

qpid-server -run:external-classpath=first -run:print-classpath

...