A simple abstraction over the RabbitMQ Java client, which hides most of the AMQP-specific details.
final Publisher publisher = new Publisher(new AMQPPublishContext(
username,
password,
exchange,
routingKey,
host,
port));
publisher.connect();
publisher.publish(new AMQPMessageBundle("hello-world"));
final Consumer consumer = new Consumer(new AMQPListenContext(
username,
password,
exchange,
queue,
host,
port,
new AMQPConsumerCallback() {
@Override
void notifyOfActionFailure(final Exception e) {}
@Override
Action handle(final AMQPMessageBundle messageBundle) {
// message processing goes here
return Action.Acknowledge;
}
}));
Java 8 and higher are supported. The build uses Java 21 and targets 8.
Manually run the Release workflow in GitHub Actions.