From 240b2b226bb1a45417bad3f86800b6b681bc455b Mon Sep 17 00:00:00 2001 From: redkale Date: Sun, 24 Dec 2023 08:40:54 +0800 Subject: [PATCH] messageManager --- .../java/org/redkale/mq/MessageManager.java | 29 +++++++++++++++++++ .../java/org/redkale/mq/spi/MessageAgent.java | 4 +-- .../redkale/mq/spi/MessageModuleEngine.java | 4 +-- 3 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 src/main/java/org/redkale/mq/MessageManager.java diff --git a/src/main/java/org/redkale/mq/MessageManager.java b/src/main/java/org/redkale/mq/MessageManager.java new file mode 100644 index 000000000..5369333a3 --- /dev/null +++ b/src/main/java/org/redkale/mq/MessageManager.java @@ -0,0 +1,29 @@ +/* + * + */ +package org.redkale.mq; + +import java.util.List; +import org.redkale.inject.Resourcable; + +/** + * MQ消息管理器 + * + *

+ * 详情见: https://redkale.org + * + * @author zhangjx + * + * @since 2.8.0 + */ +public interface MessageManager extends Resourcable { + + // + public boolean createTopic(String... topics); + + //删除topic,如果不存在则跳过 + public boolean deleteTopic(String... topics); + + //查询所有topic + public abstract List queryTopic(); +} diff --git a/src/main/java/org/redkale/mq/spi/MessageAgent.java b/src/main/java/org/redkale/mq/spi/MessageAgent.java index 2051612ef..49ccb5d89 100644 --- a/src/main/java/org/redkale/mq/spi/MessageAgent.java +++ b/src/main/java/org/redkale/mq/spi/MessageAgent.java @@ -24,10 +24,10 @@ import org.redkale.convert.Convert; import org.redkale.convert.ConvertFactory; import org.redkale.convert.ConvertType; import org.redkale.convert.json.JsonConvert; -import org.redkale.inject.Resourcable; import org.redkale.inject.ResourceEvent; import org.redkale.mq.MessageConext; import org.redkale.mq.MessageConsumer; +import org.redkale.mq.MessageManager; import org.redkale.mq.MessageProducer; import org.redkale.mq.ResourceConsumer; import org.redkale.mq.ResourceProducer; @@ -47,7 +47,7 @@ import org.redkale.util.*; * * @since 2.1.0 */ -public abstract class MessageAgent implements Resourcable { +public abstract class MessageAgent implements MessageManager { protected final Logger logger = Logger.getLogger(this.getClass().getSimpleName()); diff --git a/src/main/java/org/redkale/mq/spi/MessageModuleEngine.java b/src/main/java/org/redkale/mq/spi/MessageModuleEngine.java index d2cb8f3c0..1a8639b48 100644 --- a/src/main/java/org/redkale/mq/spi/MessageModuleEngine.java +++ b/src/main/java/org/redkale/mq/spi/MessageModuleEngine.java @@ -3,8 +3,6 @@ */ package org.redkale.mq.spi; -import org.redkale.mq.spi.MessageAgent; -import org.redkale.mq.spi.MessageAgentProvider; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.HashSet; @@ -26,6 +24,7 @@ import org.redkale.inject.ResourceEvent; import org.redkale.inject.ResourceFactory; import org.redkale.inject.ResourceTypeLoader; import org.redkale.mq.MessageConsumer; +import org.redkale.mq.MessageManager; import org.redkale.mq.MessageProducer; import org.redkale.mq.ResourceConsumer; import org.redkale.mq.ResourceProducer; @@ -202,6 +201,7 @@ public class MessageModuleEngine extends ModuleEngine { for (MessageAgent agent : this.messageAgents) { this.resourceFactory.inject(agent); agent.init(agent.getConfig()); + this.resourceFactory.register(agent.getName(), MessageManager.class, agent); this.resourceFactory.register(agent.getName(), MessageAgent.class, agent); } logger.info("MessageAgent init in " + (System.currentTimeMillis() - s) + " ms");