/rabbitmq-management-java-client

A Java client for RabbitMQ Management API

Primary LanguageJavaApache License 2.0Apache-2.0

rabbitmq-management-java-client

A Java client for RabbitMQ Management API.

The purpose of this project is more to share code (fork and adapt to your need) than a project with solid support. Anyway I will give a look at your issues.

Implemented endpoints are listed here RabbitManagementApi. Not all endpoints are implemented.

This client uses jsonschema2pojo to generate Java Bean from the Jsons outputed by the Management API. Http requests are handled by the square retrofit project

public interface RabbitManagementApi {

    //****************************************** Virtual Host ******************************************
    @GET("/api/vhosts")
    List<Vhost> listVirtualHost();

    @PUT("/api/vhosts/{vhost}")
    @Headers("Content-Type: application/json")
    Response createVirtualHost(@Path("vhost") String vhost);
    
    //[...]
}

The Http client is basic. Only Http with basic auth is implemented. The http client used by retrofit can be configured to support TLS.

How to use?

RabbitManagementApi api = RabbitManagementApi.newInstance("http://localhost:15672/" , "user" , "password");

List<User> user = api.listUsers();

api.createQueue("myvhost", "queue1", new Queue()
      .withDurable(true)
      .withArguments(new Arguments()
      .withXMaxLength(200l)));

Take a look at org.nigajuan.rabbit.management.client.TestClient