From df8fd31e75292852e38d496121fad74f4ed16b87 Mon Sep 17 00:00:00 2001 From: redkale Date: Tue, 13 Aug 2024 15:39:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/mq/MessageConsumer.java | 23 +++++++++++++++++++ .../java/org/redkale/mq/MessageProducer.java | 21 +++++++++++++++++ src/main/java/org/redkale/mq/Messaged.java | 3 +-- .../java/org/redkale/mq/ResourceConsumer.java | 23 +++++++++++++++++++ .../java/org/redkale/mq/ResourceProducer.java | 21 +++++++++++++++++ .../java/org/redkale/test/mq/TestBean.java | 4 ++-- .../redkale/test/mq/TestMessageService.java | 2 +- 7 files changed, 92 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/redkale/mq/MessageConsumer.java b/src/main/java/org/redkale/mq/MessageConsumer.java index 7e6dd8532..2968dea01 100644 --- a/src/main/java/org/redkale/mq/MessageConsumer.java +++ b/src/main/java/org/redkale/mq/MessageConsumer.java @@ -11,6 +11,29 @@ import org.redkale.util.AnyValue; /** * MQ消费器, 实现类必须标记{@link org.redkale.mq.ResourceConsumer} * + *
+ *
+ * @ResourceConsumer(mq = "mymq", topics = "test_bean_topic")
+ * public class TestMessageConsumer implements MessageConsumer<TestBean> {
+ *
+ *     @Override
+ *     public void init(AnyValue config) {
+ *         System.out.println("执行 TestMessageConsumer.init");
+ *     }
+ *
+ *     @Override
+ *     public void onMessage(MessageConext context, TestBean message) {
+ *         System.out.println("TestMessageConsumer消费消息, context: " + context + ", message: " + message);
+ *     }
+ *
+ *     @Override
+ *     public void destroy(AnyValue config) {
+ *         System.out.println("执行 TestMessageConsumer.destroy");
+ *     }
+ * }
+ * 
+ *
+ * *

详情见: https://redkale.org * * @see org.redkale.mq.MessageConext diff --git a/src/main/java/org/redkale/mq/MessageProducer.java b/src/main/java/org/redkale/mq/MessageProducer.java index 221c56504..fd6b13b31 100644 --- a/src/main/java/org/redkale/mq/MessageProducer.java +++ b/src/main/java/org/redkale/mq/MessageProducer.java @@ -10,6 +10,27 @@ import org.redkale.convert.Convert; /** * MQ消息发送器 {@link org.redkale.mq.ResourceProducer} * + *

+ *
+ * public class TestMessageService extends AbstractService {
+ *
+ *     @ResourceProducer(mq = "mymq")
+ *      private MessageProducer producer;
+ *
+ *      @Override
+ *      public void init(AnyValue config) {
+ *           sendMessage();
+ *      }
+ *
+ *      public void sendMessage() {
+ *           TestBean bean = new TestBean(12345, "this is a message");
+ *           System.out.println("生产消息: " + bean);
+ *           producer.sendMessage("test_bean_topic", bean);
+ *      }
+ * }
+ * 
+ *
+ * *

详情见: https://redkale.org * * @see org.redkale.mq.ResourceProducer diff --git a/src/main/java/org/redkale/mq/Messaged.java b/src/main/java/org/redkale/mq/Messaged.java index 5c1a20fb7..63a013415 100644 --- a/src/main/java/org/redkale/mq/Messaged.java +++ b/src/main/java/org/redkale/mq/Messaged.java @@ -16,8 +16,8 @@ import org.redkale.service.LoadMode; * 1、方法必须是protected/public
* 2、方法不能是final/static
* 3、方法的参数只能是1个或者2个, 1个参数视为Message数据类型,2个参数则另一个必须是{@link org.redkale.mq.MessageConext}
- *

* + *
*
  * public class MyMessageService extends AbstractService {
  *
@@ -37,7 +37,6 @@ import org.redkale.service.LoadMode;
  *    }
  * }
  * 
- * *
* *

详情见: https://redkale.org diff --git a/src/main/java/org/redkale/mq/ResourceConsumer.java b/src/main/java/org/redkale/mq/ResourceConsumer.java index a8899e156..06c9d0648 100644 --- a/src/main/java/org/redkale/mq/ResourceConsumer.java +++ b/src/main/java/org/redkale/mq/ResourceConsumer.java @@ -12,6 +12,29 @@ import org.redkale.convert.ConvertType; /** * MQ资源注解, 只能标记在{@link org.redkale.mq.MessageConsumer}子类上 * + *

+ *
+ * @ResourceConsumer(mq = "mymq", topics = "test_bean_topic")
+ * public class TestMessageConsumer implements MessageConsumer<TestBean> {
+ *
+ *     @Override
+ *     public void init(AnyValue config) {
+ *         System.out.println("执行 TestMessageConsumer.init");
+ *     }
+ *
+ *     @Override
+ *     public void onMessage(MessageConext context, TestBean message) {
+ *         System.out.println("TestMessageConsumer消费消息, context: " + context + ", message: " + message);
+ *     }
+ *
+ *     @Override
+ *     public void destroy(AnyValue config) {
+ *         System.out.println("执行 TestMessageConsumer.destroy");
+ *     }
+ * }
+ * 
+ *
+ * *

详情见: https://redkale.org * * @see org.redkale.mq.MessageConsumer diff --git a/src/main/java/org/redkale/mq/ResourceProducer.java b/src/main/java/org/redkale/mq/ResourceProducer.java index e7d3f88ad..1d3533e94 100644 --- a/src/main/java/org/redkale/mq/ResourceProducer.java +++ b/src/main/java/org/redkale/mq/ResourceProducer.java @@ -11,6 +11,27 @@ import org.redkale.convert.ConvertType; /** * MQ资源注解, 只能标记在{@link org.redkale.mq.MessageProducer}类型字段上 * + *

+ *
+ * public class TestMessageService extends AbstractService {
+ *
+ *     @ResourceProducer(mq = "mymq")
+ *      private MessageProducer producer;
+ *
+ *      @Override
+ *      public void init(AnyValue config) {
+ *           sendMessage();
+ *      }
+ *
+ *      public void sendMessage() {
+ *           TestBean bean = new TestBean(12345, "this is a message");
+ *           System.out.println("生产消息: " + bean);
+ *           producer.sendMessage("test_bean_topic", bean);
+ *      }
+ * }
+ * 
+ *
+ * *

详情见: https://redkale.org * * @see org.redkale.mq.MessageProducer diff --git a/src/test/java/org/redkale/test/mq/TestBean.java b/src/test/java/org/redkale/test/mq/TestBean.java index 5b35a43fa..76f2aa06b 100644 --- a/src/test/java/org/redkale/test/mq/TestBean.java +++ b/src/test/java/org/redkale/test/mq/TestBean.java @@ -11,9 +11,9 @@ import org.redkale.convert.json.JsonConvert; * @author zhangjx */ public class TestBean { - + private int userid; - + private String message; public TestBean() {} diff --git a/src/test/java/org/redkale/test/mq/TestMessageService.java b/src/test/java/org/redkale/test/mq/TestMessageService.java index 1d9e88089..195985514 100644 --- a/src/test/java/org/redkale/test/mq/TestMessageService.java +++ b/src/test/java/org/redkale/test/mq/TestMessageService.java @@ -32,7 +32,7 @@ public class TestMessageService extends AbstractService { if (t != null) { t.printStackTrace(); } - System.out.println("消息发送结果: " + v); + System.out.println("消息发送完成: " + v); }); }