blob: 78e556aa7d3eba6e731d4d48b28f0bc83ba6e7e7 [file] [log] [blame] [view]
# Apache Qpid Broker-J
The Apache Qpid Broker-J is a powerful open-source message broker.
* Supports Advanced Message Queuing Protocol (AMQP) versions 0-8, 0-9, 0-91, 0-10 and 1.0
* 100% Java implementation
* Authentication options include for LDAP, Kerberos, O-AUTH2, TLS client-authentication and more
* Message storage options include Apache Derby, Oracle BDB JE, and Generic JDBC
* REST and AMQP 1.0 management API
* Web-management console
* Plug-able architecture
Below are some quick pointers you might find useful.
## Building the code
The project requires Maven 3. Some example commands follow.
Clean previous builds output and install all modules to local repository without running the tests:
mvn clean install -DskipTests
Install all modules to the local repository after running all the tests:
mvn clean install
## Running the tests
Maven profiles are used to run tests for the supported protocols and storage options.
Profile names follow the form *java-store.n-n*, where
*store* signifies the storage module and
*n-n* the AMQP protocol version number.
For store, the options include:
* *bdb* - Oracle BDB JE
* *dby* - Apache Derby
* *mms* - an in-memory store principally used for testing.
If no profile is explicitly selected, *java-mms-1.0* is activated by default.
mvn verify
To activate a BDB with AMQP 1.0 protocol use:
mvn verify -P java-bdb.1-0
To see all the available profiles.
mvn help:all-profiles
When activating AMQP 0-8..0-10 profiles, it is also necessary to pass the system property *-DenableAmqp0-x*
mvn verify -P java-dby.0-9-1 -DenableAmqp0-x
Perform a subset of tests on the packaged release artifacts without installing:
mvn verify -Dtest=TestNamePattern* -DfailIfNoTests=false
Execute the tests and produce code coverage report:
mvn clean test jacoco:report
## Documentation
Documentation (in docbook format) is found beneath the *doc* module. The documentation is available in a published
form at:
http://qpid.apache.org/documentation.html
## Distribution assemblies
After packaging, the broker distribution assemblies can be found at:
broker/target
To continue, see the Getting Started documentation in the docbook documentation mentioned above.