GitHub - rabbitmq/rabbitmq-stream-java-client: RabbitMQ Stream Java Client

RabbitMQ Stream Java Client

Maven Central Build Status

The RabbitMQ Stream Java Client is a Java library to communicate with the RabbitMQ Stream Plugin. It allows to create and delete streams, as well as to publish to and consume from these streams. This library is compatible with Java 11 but Java 21 (or a later version) is recommended. See the overview for a quick glance at the features.

Stream PerfTest is a performance testing tool based on this client library.

Project Maturity

The library is stable and production-ready.

Support

How to Use

Pre-requisites

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

Documentation

Versioning

Build Instructions

You need JDK 11 or later installed.

To build the JAR file:

./mvnw clean package -DskipITs -DskipTests

Running Tests with Docker

Launch the broker:

docker run -it --rm --name rabbitmq -p 5552:5552 -p 5672:5672 \
    -e RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS='-rabbitmq_stream advertised_host localhost' \
    rabbitmq:4.1

Enable the stream plugin:

docker exec rabbitmq rabbitmq-plugins enable rabbitmq_stream

Launch the tests:

./mvnw test -Drabbitmqctl.bin=DOCKER:rabbitmq

Running Tests with a Local Broker

To launch the test suite (requires a local RabbitMQ node with stream plugin enabled):

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

Code Format

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

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

Double licensed under the MPL2.0 and ASL2. See LICENSE for details.