/rabbitmq-amqp-java-client

Primary LanguageJavaApache License 2.0Apache-2.0

RabbitMQ AMQP 1.0 Java Client

Build Status

This library is part of the RabbitMQ AMQP 1.0 client libraries. It targets RabbitMQ 4.0 and requires at least Java 11 (Java 21 or more is recommended).

Please refer to the documentation to find out more.

Project Maturity

The project is in development and stabilization phase. Features and API are subject to change, but breaking changes will be kept to a minimum.

Support

See the RabbitMQ Java libraries support page for the support timeline of this library.

How to Use

Pre-requisites

This library requires at least Java 11, but Java 21 or more is recommended.

Dependencies

Versioning

The RabbitMQ AMQP 1.0 Java Client is in development and stabilization phase. When the stabilization phase ends, a 1.0.0 version will be cut, and semantic versioning is likely to be enforced.

Before reaching the stable phase, the client will use a versioning scheme of [0.MINOR.PATCH] where:

  • 0 indicates the project is still in a stabilization phase.

  • MINOR is a 0-based number incrementing with each new release cycle. It generally reflects significant changes like new features and potentially some programming interfaces changes.

  • PATCH is a 0-based number incrementing with each service release, that is bux fixes.

Breaking changes between releases can happen but will be kept to a minimum.

Build Instructions

You need JDK 11 or later installed.

To build the JAR file:

./mvnw clean package -DskipITs -DskipTests

Running Tests with Docker

Start the broker:

docker run -it --rm --name rabbitmq -p 5672:5672 rabbitmq:4.0
./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq

Running Tests with a Local Broker

To launch the test suite (requires a local RabbitMQ node):

./mvnw verify -Drabbitmqctl.bin=/path/to/rabbitmqctl

Code Format

The project uses the Google Java Format. Read the documentation to support the format in your favorite IDE.

Please launch the ./mvnw spotless:apply command to format your changes before committing.

(c) 2024 Broadcom. All Rights Reserved. The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries.

This package, the RabbitMQ AMQP 1.0 Java Client library, is licensed under the Apache License, version 2.