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,包括系统环境变量、本地配置文件等配置