Browse Source

wisdom模块引入rabbitmq,demo示例

ZhangWenQiang 5 năm trước cách đây
mục cha
commit
085e7c09bc

+ 7 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/pom.xml

@@ -33,6 +33,13 @@
             <artifactId>happy-cloud-xxl-job-core</artifactId>
             <version>2.2.0</version>
         </dependency>
+
+        <!--rabbitmq消息队列-->
+        <dependency>
+            <groupId>org.happyframework.cloud</groupId>
+            <artifactId>happy-cloud-starter-rabbitmq</artifactId>
+            <version>2.2.0</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 37 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/rabbitmq/DemoListener.java

@@ -0,0 +1,37 @@
+package org.jeecg.modules.rabbitmq;
+
+import com.rabbitmq.client.Channel;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.boot.starter.rabbitmq.core.BaseRabbiMqHandler;
+import org.jeecg.boot.starter.rabbitmq.listenter.MqListener;
+import org.jeecg.common.annotation.RabbitComponent;
+import org.jeecg.common.base.BaseMap;
+import org.jeecg.modules.utils.CloudConstant;
+import org.springframework.amqp.rabbit.annotation.RabbitHandler;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.amqp.support.AmqpHeaders;
+import org.springframework.messaging.handler.annotation.Header;
+
+/**
+ * @Author: zwq
+ * @Date: Create in 2021/3/2 15:26
+ * @Description: (@RabbitListener声明类上,一个类只能监听一个队列)
+ */
+@Slf4j
+@RabbitListener(queues = CloudConstant.MQ_HAPPY_PLACE_ORDER)
+@RabbitComponent(value = "demoMessage")
+public class DemoListener extends BaseRabbiMqHandler<BaseMap> {
+
+    @RabbitHandler
+    public void onMessage(BaseMap baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
+        super.onMessage(baseMap, deliveryTag, channel, new MqListener<BaseMap>() {
+            @Override
+            public void handler(BaseMap map, Channel channel) {
+                //业务处理
+                String phone = map.get("phone").toString();
+                log.info("MQ Receiver1,phone : " + phone);
+            }
+        });
+    }
+
+}

+ 25 - 0
happy-cloud-wisdom/happy-cloud-wisdom-biz/src/main/java/org/jeecg/modules/utils/CloudConstant.java

@@ -0,0 +1,25 @@
+package org.jeecg.modules.utils;
+
+/**
+ * 微服务单元测试常量定义
+ */
+public interface CloudConstant {
+
+    /**
+     * MQ测试队列名字
+     */
+    public final static String MQ_HAPPY_PLACE_ORDER = "happy_place_order";
+    public final static String MQ_HAPPY_PLACE_ORDER_TIME = "happy_place_order_time";
+
+    /**
+     * MQ测试消息总线
+     */
+    public final static String MQ_DEMO_BUS_EVENT = "demoBusEvent";
+
+    /**
+     * 分布式锁lock key
+     */
+    public final static String REDISSON_DEMO_LOCK_KEY1 = "demoLockKey1";
+    public final static String REDISSON_DEMO_LOCK_KEY2 = "demoLockKey2";
+
+}