# Introduction

The Java Broker is a powerful open-source message broker that implements all versions of the Advanced Message Queuing Protocol (AMQP). The Java Broker is actually one of two message brokers provided by the Apache Qpid project: the Java Broker and the C++ Broker.

This document relates to the Java Broker. The C++ Broker is described separately.

Headline features

- 100% Java implementation - runs on any platform supporting Java 1.6 or higher

- Messaging clients support in Java, C++, Python.

- JMS 1.1 compliance (Java client).

- Persistent and non-persistent (transient) message support

- Supports for all common messaging patterns (point-to-point, publish/subscribe, fan-out etc).

- Transaction support including XA

  XA provided when using AMQP 0-10

- Supports for all versions of the AMQP protocol

- Automatic message translation, allowing clients using different AMQP versions to communicate with each other.

- Pluggable authentication architecture with out-of-the-box support for Kerberos, LDAP, External, and file-based authentication mechanisms.

- Pluggable message store architecture with implementations based on Apache Derby, Oracle BDB JE

  Oracle BDB JE must be downloaded separately.

  , and Memory Store

- Web based management interface and programmatic management interfaces via REST and JMX APIs.

- SSL support

- High availability (HA) support.

  HA currently only available to users of the optional BDB JE HA based message store.