You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2019/01/15 03:21:41 UTC
[06/30] james-project git commit: MAILBOX-367 Expose Exchange APIs to
RabbitMQManagementAPI
MAILBOX-367 Expose Exchange APIs to RabbitMQManagementAPI
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/91426249
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/91426249
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/91426249
Branch: refs/heads/master
Commit: 914262497df2b71222a04538afb83efcb002d82c
Parents: 90cabdd
Author: datph <dp...@linagora.com>
Authored: Thu Jan 10 09:27:47 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 09:56:28 2019 +0700
----------------------------------------------------------------------
.../backend/rabbitmq/RabbitMQManagementAPI.java | 95 +++++++++++++++++++-
1 file changed, 94 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/91426249/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
----------------------------------------------------------------------
diff --git a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
index 13a1c45..d8ad7bb 100644
--- a/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
+++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
@@ -1,4 +1,3 @@
-
/****************************************************************
* Licensed to the Apache Software Foundation (ASF) under one *
* or more contributor license agreements. See the NOTICE file *
@@ -22,8 +21,10 @@ package org.apache.james.backend.rabbitmq;
import java.util.Date;
import java.util.List;
+import java.util.Map;
import com.fasterxml.jackson.annotation.JsonProperty;
+import com.google.common.base.MoreObjects;
import feign.Feign;
import feign.Logger;
@@ -46,9 +47,98 @@ public interface RabbitMQManagementAPI {
@JsonProperty("vhost")
String vhost;
+ @JsonProperty("auto_delete")
+ boolean autoDelete;
+
+ @JsonProperty("durable")
+ boolean durable;
+
+ @JsonProperty("exclusive")
+ boolean exclusive;
+
+ @JsonProperty("arguments")
+ Map<String, String> arguments;
+
+ public String getName() {
+ return name;
+ }
+
+ public String getVhost() {
+ return vhost;
+ }
+
+ public boolean isAutoDelete() {
+ return autoDelete;
+ }
+
+ public boolean isDurable() {
+ return durable;
+ }
+
+ public boolean isExclusive() {
+ return exclusive;
+ }
+
+ public Map<String, String> getArguments() {
+ return arguments;
+ }
+ }
+
+ class Exchange {
+
+ @JsonProperty("name")
+ String name;
+
+ @JsonProperty("type")
+ String type;
+
+ @JsonProperty("auto_delete")
+ boolean autoDelete;
+
+ @JsonProperty("durable")
+ boolean durable;
+
+ @JsonProperty("internal")
+ boolean internal;
+
+ @JsonProperty("arguments")
+ Map<String, String> arguments;
+
public String getName() {
return name;
}
+
+ public String getType() {
+ return type;
+ }
+
+ public boolean isAutoDelete() {
+ return autoDelete;
+ }
+
+ public boolean isDurable() {
+ return durable;
+ }
+
+ public boolean isInternal() {
+ return internal;
+ }
+
+ public Map<String, String> getArguments() {
+ return arguments;
+ }
+
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("name", name)
+ .add("type", type)
+ .add("autoDelete", autoDelete)
+ .add("durable", durable)
+ .add("internal", internal)
+ .add("arguments", arguments)
+ .toString();
+ }
}
static RabbitMQManagementAPI from(RabbitMQConfiguration configuration) {
@@ -76,4 +166,7 @@ public interface RabbitMQManagementAPI {
@RequestLine(value = "DELETE /api/queues/{vhost}/{name}", decodeSlash = false)
void deleteQueue(@Param("vhost") String vhost, @Param("name") String name);
+
+ @RequestLine("GET /api/exchanges")
+ List<Exchange> listExchanges();
}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org