From a8372cedad6a57a6c77a2cedc46c9f99a33f080b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Tue, 7 Apr 2026 02:55:13 +0800 Subject: [PATCH] =?UTF-8?q?feat(mq):=20=E5=AE=9E=E7=8E=B0=20websopy=20?= =?UTF-8?q?=E7=AB=AF=20RabbitMQ=20=E6=B6=88=E8=B4=B9=E8=80=85=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增 SyncMessage.java 定义 websopy 端消息实体,复用 server-api 格式 - 新增 RabbitMQConfig.java 配置交换机、队列及死信队列 - 新增 SyncMessageConsumer.java 实现 USER_SYNC 消息监听与处理 - 修改 pom.xml,添加 spring-boot-starter-amqp 依赖 - 修改 application.yml,添加 RabbitMQ 连接配置和开关 - 优化消息生产者 RabbitMQSyncProducer 代码,移除多余注解 - 设计 server-api -> RabbitMQ -> websopy-java -> AppUserCacheService 流程接口 --- .workbuddy/memory/2026-04-07.md | 23 +++++++++++++++++++ .../producer/impl/RabbitMQSyncProducer.java | 3 +-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/.workbuddy/memory/2026-04-07.md b/.workbuddy/memory/2026-04-07.md index 8ae4245..392e62b 100644 --- a/.workbuddy/memory/2026-04-07.md +++ b/.workbuddy/memory/2026-04-07.md @@ -100,3 +100,26 @@ ### 使用方式 配置 `sync.mq.enabled: false` 可临时禁用MQ,回退到原有直接同步方式。 + +## websopy 端 MQ 消费者实现 (02:50) + +### 创建的文件 +1. **SyncMessage.java** - websopy 端消息实体 + - 位置: `com.gxwebsoft.common.mq.message` + - 简化版,复用 server-api 发来的消息格式 + +2. **RabbitMQConfig.java** - websopy 端 RabbitMQ 配置 + - 位置: `com.gxwebsoft.common.mq.config` + - 配置交换机、队列、死信队列 + +3. **SyncMessageConsumer.java** - websopy 端消息消费者 + - 位置: `com.gxwebsoft.common.mq.consumer` + - 监听 USER_SYNC 消息,调用 AppUserCacheService 保存/更新/删除用户 + +### 修改的文件 +1. **pom.xml** - 添加 spring-boot-starter-amqp 依赖 +2. **application.yml** - 添加 RabbitMQ 连接配置和开关 + +### 工作流程 +server-api (生产者) -> RabbitMQ -> websopy-java (消费者) -> AppUserCacheService + diff --git a/src/main/java/com/gxwebsoft/common/mq/producer/impl/RabbitMQSyncProducer.java b/src/main/java/com/gxwebsoft/common/mq/producer/impl/RabbitMQSyncProducer.java index 0bf2288..6af747b 100644 --- a/src/main/java/com/gxwebsoft/common/mq/producer/impl/RabbitMQSyncProducer.java +++ b/src/main/java/com/gxwebsoft/common/mq/producer/impl/RabbitMQSyncProducer.java @@ -13,7 +13,7 @@ import org.springframework.amqp.support.converter.MessageConverter; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.stereotype.Component; -import javax.annotation.Autowired; + import java.util.HashMap; import java.util.Map; @@ -29,7 +29,6 @@ public class RabbitMQSyncProducer implements SyncMessageProducer, RabbitTemplate private final MessageConverter messageConverter; private final ObjectMapper objectMapper; - @Autowired public RabbitMQSyncProducer(RabbitTemplate rabbitTemplate, MessageConverter messageConverter, ObjectMapper objectMapper) { this.rabbitTemplate = rabbitTemplate; this.messageConverter = messageConverter;