This is the RabbitMQ Java client, an AMQP 0-9-1 client library.
Consult the API guide to learn about how this library is supposed to be used.
This client supports Java 8+.
make deps
./mvnw clean compile
./mvnw spotless:applyTests require a RabbitMQ node on localhost:5672 with the default localhost-scoped credentials (guest/guest):
# start a RabbitMQ node in a container
docker run -it --rm --name rabbitmq -p 5672:5672 rabbitmq./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmqTo run a single test:
./mvnw verify -Drabbitmqctl.bin=DOCKER:rabbitmq -Dit.test=DeadLetterExchangesrc/main/java/com/rabbitmq/client: the public APIsrc/main/java/com/rabbitmq/client/impl: internal packagessrc/main/java/com/rabbitmq/client/impl/recovery: automatic connection recovery implementationsrc/test/java: testsdeps/rabbitmq_codegen: AMQP 0-9-1 framing code generation tooling (requires Python 3)target/generated-sources: the AMQP 0-9-1 framing code generated byrabbitmq_codegencodegen.py: a Python 3 script that drives the code generation process
Under src/main/java/com/rabbitmq/client:
ConnectionFactory.java: entry point for creating connectionsConnection.java,Channel.java: key connection and channel interfacesimpl/AMQConnection.java,impl/ChannelN.java: connection and channelimplementationsimpl/recovery/AutorecoveringConnection.java: aConnectionimplementation that supports automatic recovery
- Format code with
./mvnw spotless:applyat the end of each task
- Only add very important comments, both in tests and in the implementation
- Never add yourself to the list of commit co-authors
- Never mention yourself in commit messages in any way (no "Generated by", no AI tool links, etc)
- Never add full stops to Markdown list items