Mirror of Apache Qpid Broker-J
Java JavaScript HTML XSLT Shell CSS Other
Clone or download
Permalink
Failed to load latest commit information.
apache-qpid-broker-j QPID-8166: Remove etc/passwd and groups from distribution Apr 15, 2018
bdbstore QPID-8196) [Broker-J] [WMC] Make sure that edit form controls are pop… May 25, 2018
broker-codegen QPID-8143 : Properly validate @ManagedAttributeValueTypes, and allow … Mar 29, 2018
broker-core QPID-8219: [Broker-J] Cache authentication results for the same remot… Jul 17, 2018
broker-plugins QPID-8214: [Broker-J][JDBC] Reduce the sizes of table names in the JD… Jun 29, 2018
broker QPID-8167: [Broker-J] Fix documentation and the name of a constant. May 15, 2018
doc QPID-8198: [Broker-J[Documentation] Account headers in formula for es… May 25, 2018
etc NO-JIRA: Add Apache License template in IntelliJ's copyright format Jul 12, 2016
joramtests NO-JIRA: Change master version to 7.1.0-SNAPSHOT Nov 3, 2017
perftests QPID-8159: Upgrade Jackson from 2.9.4 to 2.9.5 Apr 11, 2018
qpid-perftests-systests QPID-8158: [Broker-J] [System Tests] Clean-up maven building scripts Apr 12, 2018
qpid-systests-parent Revert "QPID-8158: [Broker-J] [System Tests] Run protocol tests as pa… Apr 13, 2018
qpid-test-utils QPID-8158: [Broker-J] [System Tests] Fix issue with creation of folde… Apr 13, 2018
specs NO-JIRA: update year in NOTICE files, remove some extraneous files Jan 6, 2016
systests NO-JIRA: [Broker-J][Protocol Test AMQP 0-10] Fix sporadically failing… Jun 13, 2018
tck NO-JIRA: Change master version to 7.1.0-SNAPSHOT Nov 3, 2017
test-profiles QPID-8158: [Broker-J] [System Tests] Clean-up maven building scripts Apr 12, 2018
tools NO-JIRA: Change master version to 7.1.0-SNAPSHOT Nov 3, 2017
.gitignore QPID-7622: Remove accidentally committed velocity.timestamp Mar 22, 2017
.travis.yml NO-JIRA: Update .travis.yml - remove --threads argument - does not se… Mar 14, 2018
LICENSE QPID-7731: Update dependencies and dependecy references May 26, 2017
NOTICE NO-JIRA: update year in NOTICE files Jan 17, 2018
README.md NO-JIRA: Add "Running the Broker" section Apr 15, 2018
appveyor.yml NO-JIRA: [Unit Tests] [Windows] [Appveyor] Backout branches block Apr 5, 2018
pom.xml NO-JIRA: Bump Qpid JMS Client dependency from 0.31.0 to 0.32.0 and sy… May 17, 2018

README.md

Apache Qpid Broker-J


CI Process Status
Travis CI Build https://travis-ci.org/apache/qpid-broker-j.svg?branch=master
Apache Jenkins CI Build Status

Website | Wiki | Documentation | Developer Mailing List | User Mailing List | Open Issues

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

Integration tests except for protocol tests are disabled by default. In order to run all integration tests, they need to be enabled with a flag -DskipITs=false, for example

mvn verify -DskipITs=false

Execute the tests and produce code coverage report:

mvn clean test jacoco:report

Distribution assemblies

To produce broker assemblies, use:

mvn clean package -DskipTests

The broker distribution assemblies will then be found beneath:

apache-qpid-broker-j/target

Running the Broker

For full details, see the Getting Started documentation in the docbook documentation mentioned below. For convenience brief instructions are repeated here.

Start the Broker

From an assembly on the command line

Expand the assembly produced by the Maven package lifecycle stage, and the execute the qpid-server script or batch file.

On UNIX:

tar xvfz apache-qpid-broker-j/target/apache-qpid-broker-j-x.x.x-SNAPSHOT-bin.tar.gz
./java-broker/x.x.x/qpid-server

On Windows:

Expand zip apache-qpid-broker-j/target/apache-qpid-broker-j-x.x.x-SNAPSHOT-bin.zip
.\java-broker\x.x.x\qpid-server.bat

From an IDE

These instructions assume Intellij.

  1. Within the IDE import the top level pom.xml file as a project.
  2. Create a new Application run configuration called "Qpid Broker"
  • Classname org.apache.qpid.server.Main
  • Classpath of module: qpid-broker
  • Save the new run configuration.
  1. Go into the module settings of qpid-broker and add an additional classpath entry pointing to the dojo-x.x.x-distribution.zip. It is easiest to point to a location in the local maven repo e.g. ~/.m2/repository/org/dojotoolkit/dojo/x.x.x/dojo-x.x.x-distribution.zip. (This manual step is required to workaround https://issues.apache.org/jira/browse/MNG-5567).

Connecting to the Broker

By default, the Broker listens on port 5672 for AMQP and 8080 for http management. The default username 'guest' and password 'guest'.

To get to the management console, point a browser to http://localhost:8080

Documentation

Documentation (in docbook format) is found beneath the doc module.