mq 重构:默认的 mq 实现,采用 event,减少对 redis、rocketmq 等消息队列的依赖

This commit is contained in:
YunaiV
2023-10-30 12:53:54 +08:00
parent 87fb47ca6a
commit d048daf7d6
21 changed files with 110 additions and 129 deletions

View File

@ -0,0 +1,4 @@
/**
* 消息队列的消息
*/
package cn.iocoder.yudao.module.member.message;

View File

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.member.message.user;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 会员用户创建消息
*
* @author owen
*/
@Data
public class MemberUserCreateMessage {
/**
* 用户编号
*/
@NotNull(message = "用户编号不能为空")
private Long userId;
}

View File

@ -4,7 +4,7 @@ Content-Type: application/json
tenant-id: {{appTenentId}}
{
"mobile": "15601691300",
"mobile": "15601691388",
"password": "admin123"
}
@ -14,7 +14,7 @@ Content-Type: application/json
tenant-id: {{appTenentId}}
{
"mobile": "15601691399",
"mobile": "15601691388",
"scene": 1
}
@ -22,9 +22,10 @@ tenant-id: {{appTenentId}}
POST {{appApi}}/member/auth/sms-login
Content-Type: application/json
tenant-id: {{appTenentId}}
terminal: 30
{
"mobile": "15601691301",
"mobile": "15601691388",
"code": 9999
}

View File

@ -0,0 +1,4 @@
/**
* 消息队列的消费者
*/
package cn.iocoder.yudao.module.member.mq.consumer;

View File

@ -0,0 +1,4 @@
/**
* 消息队列的消息
*/
package cn.iocoder.yudao.module.member.mq.message;

View File

@ -1,29 +0,0 @@
package cn.iocoder.yudao.module.member.mq.message.user;
import cn.iocoder.yudao.framework.mq.core.stream.AbstractStreamMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.NotNull;
/**
* 会员用户创建消息
*
* @author owen
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class MemberUserCreateMessage extends AbstractStreamMessage {
/**
* 用户编号
*/
@NotNull(message = "用户编号不能为空")
private Long userId;
@Override
public String getStreamKey() {
return "member.user.create";
}
}

View File

@ -0,0 +1,4 @@
/**
* 消息队列的生产者
*/
package cn.iocoder.yudao.module.member.mq.producer;

View File

@ -1,8 +1,8 @@
package cn.iocoder.yudao.module.member.mq.producer.user;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import cn.iocoder.yudao.module.member.mq.message.user.MemberUserCreateMessage;
import cn.iocoder.yudao.module.member.message.user.MemberUserCreateMessage;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@ -17,7 +17,7 @@ import javax.annotation.Resource;
public class MemberUserProducer {
@Resource
private RedisMQTemplate redisMQTemplate;
private ApplicationContext applicationContext;
/**
* 发送 {@link MemberUserCreateMessage} 消息
@ -25,7 +25,7 @@ public class MemberUserProducer {
* @param userId 用户编号
*/
public void sendUserCreateMessage(Long userId) {
redisMQTemplate.send(new MemberUserCreateMessage().setUserId(userId));
applicationContext.publishEvent(new MemberUserCreateMessage().setUserId(userId));
}
}