|
1 | 1 | = RabbitMQ AMQP 1.0 Java Client
|
2 | 2 |
|
| 3 | +image:https://github.com/rabbitmq/rabbitmq-amqp-java-client/actions/workflows/test.yml/badge.svg["Build Status", link="https://github.com/rabbitmq/rabbitmq-amqp-java-client/actions/workflows/test.yml"] |
| 4 | + |
3 | 5 | This library is part of the https://amqp-client-libraries.rabbitmq-website.pages.dev/client-libraries/amqp-client-libraries[RabbitMQ AMQP 1.0 client libraries].
|
4 | 6 | It targets RabbitMQ 4.0 and requires at least Java 11 (Java 21 or more is recommended).
|
5 | 7 |
|
6 |
| -== Documentation |
| 8 | +Please refer to the https://rabbitmq.github.io/rabbitmq-amqp-java-client/stable/htmlsingle/[documentation] to find out more. |
| 9 | + |
| 10 | +== Project Maturity |
| 11 | + |
| 12 | +The project is in development and stabilization phase. |
| 13 | +Features and API are subject to change, but https://rabbitmq.github.io/rabbitmq-amqp-java-client/stable/htmlsingle/#stability-of-programming-interfaces[breaking changes] will be kept to a minimum. |
| 14 | + |
| 15 | +== Support |
| 16 | + |
| 17 | +* For questions: https://groups.google.com/forum/#!forum/rabbitmq-users[RabbitMQ Users] |
| 18 | +* For bugs and feature requests: https://github.com/rabbitmq/rabbitmq-amqp-java-client/issues[GitHub Issues] |
| 19 | + |
| 20 | +See the https://www.rabbitmq.com/client-libraries/java-versions[RabbitMQ Java libraries support page] for the support timeline of this library. |
| 21 | + |
| 22 | +== How to Use |
| 23 | + |
| 24 | +=== Pre-requisites |
| 25 | + |
| 26 | +This library requires at least Java 11, but Java 21 or more is recommended. |
| 27 | + |
| 28 | +=== Dependencies |
| 29 | + |
| 30 | +* https://rabbitmq.github.io/rabbitmq-amqp-java-client/stable/htmlsingle/#dependencies[Release] |
| 31 | +* https://rabbitmq.github.io/rabbitmq-amqp-java-client/snapshot/htmlsingle/#dependencies[Snapshot] |
| 32 | + |
| 33 | +=== Documentation |
| 34 | + |
| 35 | +==== Release |
| 36 | + |
| 37 | +* https://rabbitmq.github.io/rabbitmq-amqp-java-client/stable/htmlsingle/[Reference documentation] |
| 38 | +* https://rabbitmq.github.io/rabbitmq-amqp-java-client/stable/api/com/rabbitmq/client/amqp/package-summary.html[API documentation] |
| 39 | + |
| 40 | +==== Snapshot |
| 41 | + |
| 42 | +* https://rabbitmq.github.io/rabbitmq-amqp-java-client/snapshot/htmlsingle/[Reference documentation] |
| 43 | +* https://rabbitmq.github.io/rabbitmq-amqp-java-client/snapshot/api/com/rabbitmq/client/amqp/package-summary.html[API documentation] |
| 44 | + |
| 45 | +== Versioning |
| 46 | + |
| 47 | +The RabbitMQ AMQP 1.0 Java Client is in development and stabilization phase. |
| 48 | +When the stabilization phase ends, a 1.0.0 version will be cut, and |
| 49 | +https://semver.org/[semantic versioning] is likely to be enforced. |
| 50 | + |
| 51 | +Before reaching the stable phase, the client will use a versioning scheme of `[0.MINOR.PATCH]` where: |
| 52 | + |
| 53 | +* `0` indicates the project is still in a stabilization phase. |
| 54 | +* `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. |
| 55 | +* `PATCH` is a 0-based number incrementing with each service release, that is bux fixes. |
| 56 | + |
| 57 | +Breaking changes between releases can happen but will be kept to a minimum. |
| 58 | + |
| 59 | +== Build Instructions |
| 60 | + |
| 61 | +You need JDK 11 or later installed. |
| 62 | + |
| 63 | +To build the JAR file: |
| 64 | + |
| 65 | +---- |
| 66 | +./mvnw clean package -DskipITs -DskipTests |
| 67 | +---- |
| 68 | + |
| 69 | +=== Running Tests with Docker |
| 70 | + |
| 71 | +Start the broker: |
| 72 | + |
| 73 | +---- |
| 74 | +docker run -it --rm --name rabbitmq -p 5672:5672 pivotalrabbitmq/rabbitmq:v4.0.x |
| 75 | +---- |
| 76 | + |
| 77 | +---- |
| 78 | +./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq |
| 79 | +---- |
| 80 | + |
| 81 | +=== Running Tests with a Local Broker |
| 82 | + |
| 83 | +To launch the test suite (requires a local RabbitMQ node): |
| 84 | + |
| 85 | +---- |
| 86 | +./mvnw verify -Drabbitmqctl.bin=/path/to/rabbitmqctl |
| 87 | +---- |
| 88 | + |
| 89 | +== Code Format |
| 90 | + |
| 91 | +The project uses the https://github.com/google/google-java-format[Google Java Format]. Read |
| 92 | +the documentation to support the format in your |
| 93 | +https://github.com/google/google-java-format#intellij-android-studio-and-other-jetbrains-ides[favorite] |
| 94 | +https://github.com/google/google-java-format#eclipse[IDE]. |
| 95 | + |
| 96 | +Please launch the `./mvnw spotless:apply` command to format your changes before committing. |
| 97 | + |
7 | 98 |
|
8 |
| -* https://rabbitmq.github.io/rabbitmq-amqp-java-client/snapshot/htmlsingle/[Reference] |
9 |
| -* https://rabbitmq.github.io/rabbitmq-amqp-java-client/snapshot/api/com/rabbitmq/client/amqp/package-summary.html[API] |
| 99 | +== Copyright and License |
10 | 100 |
|
11 |
| -== License |
| 101 | +(c) 2024 Broadcom. All Rights Reserved. |
| 102 | +The term "Broadcom" refers to Broadcom Inc. and/or its subsidiaries. |
12 | 103 |
|
13 |
| -This package, the RabbitMQ AMQP 1.0 Java Client library, is licensed under the http://www.apache.org/licenses/LICENSE-2.0[Apache License, version 2]. |
| 104 | +This package, the RabbitMQ AMQP 1.0 Java Client library, is licensed under the http://www.apache.org/licenses/LICENSE-2.0[Apache License, version 2]. |
0 commit comments