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:42 UTC

[07/30] james-project git commit: MAILBOX-367 Moving RabbitMQManagement API to rabbitmq-backend project

MAILBOX-367 Moving RabbitMQManagement API to rabbitmq-backend project

- Using this API in RabbitMQ EventBus


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/64d4cdb7
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/64d4cdb7
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/64d4cdb7

Branch: refs/heads/master
Commit: 64d4cdb7fe0878659f10f657774aaa2e6360e7ca
Parents: 44e7531
Author: datph <dp...@linagora.com>
Authored: Wed Jan 9 16:56:01 2019 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Tue Jan 15 09:56:28 2019 +0700

----------------------------------------------------------------------
 backends-common/rabbitmq/pom.xml                |  21 +++-
 .../backend/rabbitmq/RabbitMQManagementAPI.java |  79 +++++++++++++++
 .../james/modules/TestRabbitMQModule.java       |  14 +--
 server/queue/queue-rabbitmq/pom.xml             |  19 ----
 .../rabbitmq/RabbitMQMailQueueFactory.java      |   4 +-
 .../rabbitmq/RabbitMQMailQueueManagement.java   |  52 ++++++++++
 .../queue/rabbitmq/RabbitMQManagementApi.java   | 100 -------------------
 ...abbitMQMailQueueConfigurationChangeTest.java |   4 +-
 .../queue/rabbitmq/RabbitMQMailQueueTest.java   |   4 +-
 .../rabbitmq/RabbitMqMailQueueFactoryTest.java  |   4 +-
 10 files changed, 166 insertions(+), 135 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/backends-common/rabbitmq/pom.xml
----------------------------------------------------------------------
diff --git a/backends-common/rabbitmq/pom.xml b/backends-common/rabbitmq/pom.xml
index ac0776e..40ddbce 100644
--- a/backends-common/rabbitmq/pom.xml
+++ b/backends-common/rabbitmq/pom.xml
@@ -30,6 +30,10 @@
     <artifactId>apache-james-backends-rabbitmq</artifactId>
     <name>Apache James RabbitMQ backend</name>
 
+    <properties>
+        <feign.version>10.0.1</feign.version>
+    </properties>
+
     <dependencies>
         <dependency>
             <groupId>${james.groupId}</groupId>
@@ -67,6 +71,21 @@
             <version>2.6.0</version>
         </dependency>
         <dependency>
+            <groupId>io.github.openfeign</groupId>
+            <artifactId>feign-core</artifactId>
+            <version>${feign.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.github.openfeign</groupId>
+            <artifactId>feign-jackson</artifactId>
+            <version>${feign.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>io.github.openfeign</groupId>
+            <artifactId>feign-slf4j</artifactId>
+            <version>${feign.version}</version>
+        </dependency>
+        <dependency>
             <groupId>javax.inject</groupId>
             <artifactId>javax.inject</artifactId>
         </dependency>
@@ -113,4 +132,4 @@
             </plugin>
         </plugins>
     </build>
-</project>
+</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/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
new file mode 100644
index 0000000..13a1c45
--- /dev/null
+++ b/backends-common/rabbitmq/src/main/java/org/apache/james/backend/rabbitmq/RabbitMQManagementAPI.java
@@ -0,0 +1,79 @@
+
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.backend.rabbitmq;
+
+import java.util.Date;
+import java.util.List;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+
+import feign.Feign;
+import feign.Logger;
+import feign.Param;
+import feign.RequestLine;
+import feign.RetryableException;
+import feign.Retryer;
+import feign.auth.BasicAuthRequestInterceptor;
+import feign.codec.ErrorDecoder;
+import feign.jackson.JacksonDecoder;
+import feign.jackson.JacksonEncoder;
+import feign.slf4j.Slf4jLogger;
+
+public interface RabbitMQManagementAPI {
+
+    class MessageQueue {
+        @JsonProperty("name")
+        String name;
+
+        @JsonProperty("vhost")
+        String vhost;
+
+        public String getName() {
+            return name;
+        }
+    }
+
+    static RabbitMQManagementAPI from(RabbitMQConfiguration configuration) {
+        RabbitMQConfiguration.ManagementCredentials credentials = configuration.getManagementCredentials();
+        return Feign.builder()
+            .requestInterceptor(new BasicAuthRequestInterceptor(credentials.getUser(), new String(credentials.getPassword())))
+            .logger(new Slf4jLogger(RabbitMQManagementAPI.class))
+            .logLevel(Logger.Level.FULL)
+            .encoder(new JacksonEncoder())
+            .decoder(new JacksonDecoder())
+            .retryer(new Retryer.Default())
+            .errorDecoder(RETRY_500)
+            .target(RabbitMQManagementAPI.class, configuration.getManagementUri().toString());
+    }
+
+    ErrorDecoder RETRY_500 = (methodKey, response) -> {
+        if (response.status() == 500) {
+            throw new RetryableException("Error encountered, scheduling retry", response.request().httpMethod(), new Date());
+        }
+        throw new RuntimeException("Non recoverable exception status: " + response.status());
+    };
+
+    @RequestLine("GET /api/queues")
+    List<MessageQueue> listQueues();
+
+    @RequestLine(value = "DELETE /api/queues/{vhost}/{name}", decodeSlash = false)
+    void deleteQueue(@Param("vhost") String vhost, @Param("name") String name);
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java
index c9cda53..2118830 100644
--- a/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java
+++ b/server/container/guice/cassandra-rabbitmq-guice/src/test/java/org/apache/james/modules/TestRabbitMQModule.java
@@ -30,7 +30,7 @@ import javax.inject.Singleton;
 import org.apache.james.CleanupTasksPerformer;
 import org.apache.james.backend.rabbitmq.DockerRabbitMQ;
 import org.apache.james.backend.rabbitmq.RabbitMQConfiguration;
-import org.apache.james.queue.rabbitmq.RabbitMQManagementApi;
+import org.apache.james.queue.rabbitmq.RabbitMQMailQueueManagement;
 import org.apache.james.queue.rabbitmq.view.cassandra.configuration.CassandraMailQueueViewConfiguration;
 
 import com.google.inject.AbstractModule;
@@ -63,17 +63,17 @@ public class TestRabbitMQModule extends AbstractModule {
     @Singleton
     protected RabbitMQConfiguration provideRabbitMQConfiguration() throws URISyntaxException {
         return RabbitMQConfiguration.builder()
-                .amqpUri(rabbitMQ.amqpUri())
-                .managementUri(rabbitMQ.managementUri())
-                .managementCredentials(DEFAULT_MANAGEMENT_CREDENTIAL)
-                .build();
+            .amqpUri(rabbitMQ.amqpUri())
+            .managementUri(rabbitMQ.managementUri())
+            .managementCredentials(DEFAULT_MANAGEMENT_CREDENTIAL)
+            .build();
     }
 
     public static class QueueCleanUp implements CleanupTasksPerformer.CleanupTask {
-        private final RabbitMQManagementApi api;
+        private final RabbitMQMailQueueManagement api;
 
         @Inject
-        public QueueCleanUp(RabbitMQManagementApi api) {
+        public QueueCleanUp(RabbitMQMailQueueManagement api) {
             this.api = api;
         }
 

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/queue/queue-rabbitmq/pom.xml
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/pom.xml b/server/queue/queue-rabbitmq/pom.xml
index ab4ffff..05bde5c 100644
--- a/server/queue/queue-rabbitmq/pom.xml
+++ b/server/queue/queue-rabbitmq/pom.xml
@@ -32,10 +32,6 @@
 
     <name>Apache James :: Server :: Mail Queue :: RabbitMQ</name>
 
-    <properties>
-        <feign.version>10.0.1</feign.version>
-    </properties>
-
     <dependencies>
         <dependency>
             <groupId>${james.groupId}</groupId>
@@ -156,21 +152,6 @@
             <artifactId>amqp-client</artifactId>
         </dependency>
         <dependency>
-            <groupId>io.github.openfeign</groupId>
-            <artifactId>feign-core</artifactId>
-            <version>${feign.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.github.openfeign</groupId>
-            <artifactId>feign-jackson</artifactId>
-            <version>${feign.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>io.github.openfeign</groupId>
-            <artifactId>feign-slf4j</artifactId>
-            <version>${feign.version}</version>
-        </dependency>
-        <dependency>
             <groupId>io.projectreactor</groupId>
             <artifactId>reactor-core</artifactId>
         </dependency>

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
index 52a99eb..57d5181 100644
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueFactory.java
@@ -119,14 +119,14 @@ public class RabbitMQMailQueueFactory implements MailQueueFactory<RabbitMQMailQu
     }
 
     private final RabbitClient rabbitClient;
-    private final RabbitMQManagementApi mqManagementApi;
+    private final RabbitMQMailQueueManagement mqManagementApi;
     private final PrivateFactory privateFactory;
     private final RabbitMQMailQueueObjectPool mailQueueObjectPool;
 
     @VisibleForTesting
     @Inject
     RabbitMQMailQueueFactory(RabbitClient rabbitClient,
-                             RabbitMQManagementApi mqManagementApi,
+                             RabbitMQMailQueueManagement mqManagementApi,
                              PrivateFactory privateFactory) {
         this.rabbitClient = rabbitClient;
         this.mqManagementApi = mqManagementApi;

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueManagement.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueManagement.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueManagement.java
new file mode 100644
index 0000000..91e5ba5
--- /dev/null
+++ b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueManagement.java
@@ -0,0 +1,52 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.queue.rabbitmq;
+
+import java.util.stream.Stream;
+
+import javax.inject.Inject;
+
+import org.apache.james.backend.rabbitmq.RabbitMQConfiguration;
+import org.apache.james.backend.rabbitmq.RabbitMQManagementAPI;
+import org.apache.james.util.OptionalUtils;
+
+public class RabbitMQMailQueueManagement {
+
+    private final RabbitMQManagementAPI api;
+
+    @Inject
+    RabbitMQMailQueueManagement(RabbitMQConfiguration configuration) {
+        api = RabbitMQManagementAPI.from(configuration);
+    }
+
+    Stream<MailQueueName> listCreatedMailQueueNames() {
+        return api.listQueues()
+            .stream()
+            .map(RabbitMQManagementAPI.MessageQueue::getName)
+            .map(MailQueueName::fromRabbitWorkQueueName)
+            .flatMap(OptionalUtils::toStream)
+            .distinct();
+    }
+
+    public void deleteAllQueues() {
+        api.listQueues()
+            .forEach(queue -> api.deleteQueue("/", queue.getName()));
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQManagementApi.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQManagementApi.java b/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQManagementApi.java
deleted file mode 100644
index 1a992c6..0000000
--- a/server/queue/queue-rabbitmq/src/main/java/org/apache/james/queue/rabbitmq/RabbitMQManagementApi.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one   *
- * or more contributor license agreements.  See the NOTICE file *
- * distributed with this work for additional information        *
- * regarding copyright ownership.  The ASF licenses this file   *
- * to you under the Apache License, Version 2.0 (the            *
- * "License"); you may not use this file except in compliance   *
- * with the License.  You may obtain a copy of the License at   *
- *                                                              *
- *   http://www.apache.org/licenses/LICENSE-2.0                 *
- *                                                              *
- * Unless required by applicable law or agreed to in writing,   *
- * software distributed under the License is distributed on an  *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
- * KIND, either express or implied.  See the License for the    *
- * specific language governing permissions and limitations      *
- * under the License.                                           *
- ****************************************************************/
-
-package org.apache.james.queue.rabbitmq;
-
-import java.util.Date;
-import java.util.List;
-import java.util.stream.Stream;
-
-import javax.inject.Inject;
-
-import org.apache.james.backend.rabbitmq.RabbitMQConfiguration;
-import org.apache.james.util.OptionalUtils;
-
-import com.fasterxml.jackson.annotation.JsonProperty;
-
-import feign.Feign;
-import feign.Logger;
-import feign.Param;
-import feign.RequestLine;
-import feign.RetryableException;
-import feign.Retryer;
-import feign.auth.BasicAuthRequestInterceptor;
-import feign.codec.ErrorDecoder;
-import feign.jackson.JacksonDecoder;
-import feign.jackson.JacksonEncoder;
-import feign.slf4j.Slf4jLogger;
-
-public class RabbitMQManagementApi {
-
-    private static final ErrorDecoder RETRY_500 = (methodKey, response) -> {
-        if (response.status() == 500) {
-            throw new RetryableException("Error encountered, scheduling retry", response.request().httpMethod(), new Date());
-        }
-        throw new RuntimeException("Non recoverable exception status: " + response.status());
-    };
-
-    public interface Api {
-
-        class MessageQueue {
-            @JsonProperty("name")
-            String name;
-
-            @JsonProperty("vhost")
-            String vhost;
-        }
-
-        @RequestLine("GET /api/queues")
-        List<MessageQueue> listQueues();
-
-        @RequestLine(value = "DELETE /api/queues/{vhost}/{name}", decodeSlash = false)
-        void deleteQueue(@Param("vhost") String vhost, @Param("name") String name);
-    }
-
-    private final Api api;
-
-    @Inject
-    RabbitMQManagementApi(RabbitMQConfiguration configuration) {
-        RabbitMQConfiguration.ManagementCredentials credentials = configuration.getManagementCredentials();
-        api = Feign.builder()
-            .requestInterceptor(new BasicAuthRequestInterceptor(credentials.getUser(), new String(credentials.getPassword())))
-            .logger(new Slf4jLogger(RabbitMQManagementApi.class))
-            .logLevel(Logger.Level.FULL)
-            .encoder(new JacksonEncoder())
-            .decoder(new JacksonDecoder())
-            .retryer(new Retryer.Default())
-            .errorDecoder(RETRY_500)
-            .target(Api.class, configuration.getManagementUri().toString());
-    }
-
-    Stream<MailQueueName> listCreatedMailQueueNames() {
-        return api.listQueues()
-            .stream()
-            .map(x -> x.name)
-            .map(MailQueueName::fromRabbitWorkQueueName)
-            .flatMap(OptionalUtils::toStream)
-            .distinct();
-    }
-
-    public void deleteAllQueues() {
-        api.listQueues()
-            .forEach(queue -> api.deleteQueue("/", queue.name));
-    }
-}

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
index 4ae8328..e7b2ab5 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueConfigurationChangeTest.java
@@ -89,7 +89,7 @@ class RabbitMQMailQueueConfigurationChangeTest {
     static RabbitMQExtension rabbitMQExtension = new RabbitMQExtension();
 
     private UpdatableTickingClock clock;
-    private RabbitMQManagementApi mqManagementApi;
+    private RabbitMQMailQueueManagement mqManagementApi;
     private RabbitClient rabbitClient;
     private ThreadLocalRandom random;
     private MimeMessageStore.Factory mimeMessageStoreFactory;
@@ -107,7 +107,7 @@ class RabbitMQMailQueueConfigurationChangeTest {
             .managementCredentials(DEFAULT_MANAGEMENT_CREDENTIAL)
             .build();
         rabbitClient = new RabbitClient(rabbitMQExtension.getRabbitChannelPool());
-        mqManagementApi = new RabbitMQManagementApi(rabbitMQConfiguration);
+        mqManagementApi = new RabbitMQMailQueueManagement(rabbitMQConfiguration);
     }
 
     @AfterEach

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
index 01cdcbd..7d5885e 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMQMailQueueTest.java
@@ -90,7 +90,7 @@ public class RabbitMQMailQueueTest implements ManageableMailQueueContract, MailQ
     private RabbitMQMailQueueFactory mailQueueFactory;
     private UpdatableTickingClock clock;
     private RabbitMQMailQueue mailQueue;
-    private RabbitMQManagementApi mqManagementApi;
+    private RabbitMQMailQueueManagement mqManagementApi;
 
     @Override
     public void enQueue(Mail mail) throws MailQueue.MailQueueException {
@@ -129,7 +129,7 @@ public class RabbitMQMailQueueTest implements ManageableMailQueueContract, MailQ
             mailQueueViewFactory,
             clock,
             new RawMailQueueItemDecoratorFactory());
-        mqManagementApi = new RabbitMQManagementApi(rabbitMQConfiguration);
+        mqManagementApi = new RabbitMQMailQueueManagement(rabbitMQConfiguration);
         mailQueueFactory = new RabbitMQMailQueueFactory(rabbitClient, mqManagementApi, factory);
         mailQueue = mailQueueFactory.createQueue(SPOOL);
     }

http://git-wip-us.apache.org/repos/asf/james-project/blob/64d4cdb7/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
----------------------------------------------------------------------
diff --git a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
index 55f0da7..f152663 100644
--- a/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
+++ b/server/queue/queue-rabbitmq/src/test/java/org/apache/james/queue/rabbitmq/RabbitMqMailQueueFactoryTest.java
@@ -54,7 +54,7 @@ class RabbitMqMailQueueFactoryTest implements MailQueueFactoryContract<RabbitMQM
     static final RabbitMQExtension rabbitMQExtension = new RabbitMQExtension();
 
     private RabbitMQMailQueueFactory mailQueueFactory;
-    private RabbitMQManagementApi mqManagementApi;
+    private RabbitMQMailQueueManagement mqManagementApi;
 
     @BeforeEach
     void setup() throws URISyntaxException {
@@ -80,7 +80,7 @@ class RabbitMqMailQueueFactoryTest implements MailQueueFactoryContract<RabbitMQM
             mailQueueViewFactory,
             Clock.systemUTC(),
             new RawMailQueueItemDecoratorFactory());
-        mqManagementApi = new RabbitMQManagementApi(rabbitMQConfiguration);
+        mqManagementApi = new RabbitMQMailQueueManagement(rabbitMQConfiguration);
         mailQueueFactory = new RabbitMQMailQueueFactory(rabbitClient, mqManagementApi, factory);
     }
 


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org