All Projects → rabbitmq → rabbitmq-stream-java-client

rabbitmq / rabbitmq-stream-java-client

Licence: other
RabbitMQ Stream Java Client

Programming Languages

java
68154 projects - #9 most used programming language

RabbitMQ Stream Java Client

Maven Central Build Status Code Coverage

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.

The client ships also with a performance tool.

Please refer to the documentation (PDF) 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

How to Use

Pre-requisites

The library requires Java 8 or later. Java 11 is recommended.

Versioning

The RabbitMQ Stream 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 1.8 or more 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:3.9

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

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) 2020-2021, VMware Inc or its affiliates.

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].