feat(mq): 实现 websopy 端 RabbitMQ 消费者功能

- 新增 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 流程接口
This commit is contained in:
2026-04-07 02:55:13 +08:00
parent ca3651165c
commit a8372cedad
2 changed files with 24 additions and 2 deletions

View File

@@ -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

View File

@@ -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;