rabbitmq-jms-client icon indicating copy to clipboard operation
rabbitmq-jms-client copied to clipboard

RabbitMQ JMS client

Java JMS Client for RabbitMQ

Maven Central Build Status

Overview

This is a JMS 1.1 client library for RabbitMQ, working in concert with rabbitmq-jms-topic-exchange, a RabbitMQ server plugin.

Documentation

Installation

With Maven or Gradle

This package is published to several Maven package repositories:

Latest Stable

Add the following to pom.xml for Maven:

<dependency>
  <groupId>com.rabbitmq.jms</groupId>
  <artifactId>rabbitmq-jms</artifactId>
  <version>2.5.0</version>
</dependency>

Or the following to build.gradle for Gradle:

compile 'com.rabbitmq.jms:rabbitmq-jms:2.5.0'

Snapshot

Add the following to pom.xml for Maven:

<dependency>
  <groupId>com.rabbitmq.jms</groupId>
  <artifactId>rabbitmq-jms</artifactId>
  <version>2.6.0-SNAPSHOT</version>
</dependency>

You need to declare the snapshot repository as well:

<repositories>

  <repository>
    <id>ossrh</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    <snapshots><enabled>true</enabled></snapshots>
    <releases><enabled>false</enabled></releases>
  </repository>

</repositories>

Or the following to build.gradle for Gradle:

compile 'com.rabbitmq.jms:rabbitmq-jms:2.6.0-SNAPSHOT'

You need to declare the snapshot repository as well:

repositories {
  maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
  mavenCentral()
}

Building from Source

This project is managed by Maven, so use

./mvnw clean install -Dmaven.test.skip=true

to build it from source and install into the local repository.

Running Tests

See CONTRIBUTING.md for an overview of the development process.

Unit Tests

./mvnw clean test

Integration Tests

Running Integration Tests with Docker

Launch the broker:

docker run -it --rm --name rabbitmq -p 5672:5672 rabbitmq

Enable the JMS Topic Exchange plugin:

docker exec rabbitmq rabbitmq-plugins enable rabbitmq_jms_topic_exchange

Launch the tests:

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

Running Integration Tests with a Local Broker

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

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

JMS 1.1 Compliance Test Suite

JMS 1.1 compliance test suite for this client is available in a separate repository.

Versioning

This library uses semantic versioning.

Support

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

License and Copyright

(c) 2007-2022 VMware, Inc. or its affiliates.

This package, the RabbitMQ JMS client library, is double-licensed under the Apache License version 2 ("ASL") and the Mozilla Public License 2.0 ("MPL").

See LICENSE.