From 49bdc382a8a7dfa1948f39aa5dacf154a569272e Mon Sep 17 00:00:00 2001 From: "W.Y" <343887809@qq.com> Date: Mon, 25 Sep 2023 17:41:30 +0800 Subject: [PATCH] =?UTF-8?q?[config]=20=E6=96=B0=E5=A2=9ERabbitMQ=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- iot-modules/iot-box-user-api/pom.xml | 7 +++++++ .../api/controller/RoomAdminController.java | 10 ++++++++++ .../qiuguo/iot/user/api/rabbit/MyConsumer.java | 14 ++++++++++++++ .../qiuguo/iot/user/api/rabbit/MyProducer.java | 17 +++++++++++++++++ .../iot/user/api/rabbit/RabbitMQConfig.java | 14 ++++++++++++++ .../src/main/resources/bootstrap-dev.yml | 6 ++++++ 6 files changed, 68 insertions(+) create mode 100644 iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyConsumer.java create mode 100644 iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyProducer.java create mode 100644 iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/RabbitMQConfig.java diff --git a/iot-modules/iot-box-user-api/pom.xml b/iot-modules/iot-box-user-api/pom.xml index a24d247..4651eeb 100644 --- a/iot-modules/iot-box-user-api/pom.xml +++ b/iot-modules/iot-box-user-api/pom.xml @@ -34,6 +34,13 @@ spring-boot-starter-webflux + + + org.springframework.boot + spring-boot-starter-amqp + + + org.springframework.boot spring-boot-starter-data-redis-reactive diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/controller/RoomAdminController.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/controller/RoomAdminController.java index d86a850..844884e 100644 --- a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/controller/RoomAdminController.java +++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/controller/RoomAdminController.java @@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil; import com.qiuguo.iot.data.entity.user.UserRoomEntity; import com.qiuguo.iot.data.request.user.UserRoomRequest; import com.qiuguo.iot.data.service.user.UserRoomService; +import com.qiuguo.iot.user.api.rabbit.MyProducer; import lombok.extern.slf4j.Slf4j; import org.hswebframework.web.api.crud.entity.PagerResult; import org.springframework.web.bind.annotation.*; @@ -23,6 +24,9 @@ public class RoomAdminController { @Resource private UserRoomService roomService; + @Resource + private MyProducer myProducer; + //新增 @PostMapping("/save/room") public Mono roomSave(@RequestBody UserRoomEntity room) { @@ -52,4 +56,10 @@ public class RoomAdminController { public Mono> getFamily(@RequestBody UserRoomRequest resp) { return roomService.selectUserRoomsByRequest(resp); } + + @GetMapping("/text") + public String text() { + myProducer.sendMessage("hello world"); + return "hello world"; + } } diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyConsumer.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyConsumer.java new file mode 100644 index 0000000..30d1398 --- /dev/null +++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyConsumer.java @@ -0,0 +1,14 @@ +package com.qiuguo.iot.user.api.rabbit; + +import org.springframework.amqp.rabbit.annotation.RabbitListener; +import org.springframework.stereotype.Component; + +@Component +public class MyConsumer { + + @RabbitListener(queues = "my-queue") + public void receiveMessage(String message) { + // 处理接收到的消息 + System.out.println("Received message: " + message); + } +} diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyProducer.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyProducer.java new file mode 100644 index 0000000..5e306a2 --- /dev/null +++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/MyProducer.java @@ -0,0 +1,17 @@ +package com.qiuguo.iot.user.api.rabbit; + +import org.springframework.amqp.rabbit.core.RabbitTemplate; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +@Component +public class MyProducer { + + @Autowired + private RabbitTemplate rabbitTemplate; + + public void sendMessage(String message) { + //发送消息 + rabbitTemplate.convertAndSend("my-queue", message); + } +} diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/RabbitMQConfig.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/RabbitMQConfig.java new file mode 100644 index 0000000..1851652 --- /dev/null +++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/rabbit/RabbitMQConfig.java @@ -0,0 +1,14 @@ +package com.qiuguo.iot.user.api.rabbit; + +import org.springframework.amqp.core.Queue; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class RabbitMQConfig { + + @Bean + public Queue myQueue() { + return new Queue("my-queue"); + } +} diff --git a/iot-modules/iot-box-user-api/src/main/resources/bootstrap-dev.yml b/iot-modules/iot-box-user-api/src/main/resources/bootstrap-dev.yml index f97c559..69b834f 100644 --- a/iot-modules/iot-box-user-api/src/main/resources/bootstrap-dev.yml +++ b/iot-modules/iot-box-user-api/src/main/resources/bootstrap-dev.yml @@ -1,4 +1,10 @@ spring: + rabbitmq: + host: 192.168.8.146 + port: 31043 + username: admin + password: 123456 + cloud: # config: # # 如果本地配置优先级高,那么 override-none 设置为 true,包括系统环境变量、本地配置文件等配置