集成 spring-cloud-starter-bus-rocketmq 组件

This commit is contained in:
YunaiV
2022-06-19 00:37:44 +08:00
parent 7b36eca609
commit 6dd514b84a
31 changed files with 223 additions and 351 deletions

View File

@@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.system.mq.consumer.auth;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener;
import cn.iocoder.yudao.module.system.mq.message.auth.OAuth2ClientRefreshMessage;
import cn.iocoder.yudao.module.system.service.oauth2.OAuth2ClientService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -15,14 +15,14 @@ import javax.annotation.Resource;
*/
@Component
@Slf4j
public class OAuth2ClientRefreshConsumer extends AbstractChannelMessageListener<OAuth2ClientRefreshMessage> {
public class OAuth2ClientRefreshConsumer {
@Resource
private OAuth2ClientService oauth2ClientService;
@Override
public void onMessage(OAuth2ClientRefreshMessage message) {
log.info("[onMessage][收到 OAuth2Client 刷新消息]");
@EventListener
public void execute(OAuth2ClientRefreshMessage message) {
log.info("[execute][收到 OAuth2Client 刷新消息]");
oauth2ClientService.initLocalCache();
}

View File

@@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.system.mq.consumer.dept;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener;
import cn.iocoder.yudao.module.system.mq.message.dept.DeptRefreshMessage;
import cn.iocoder.yudao.module.system.service.dept.DeptService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -15,14 +15,14 @@ import javax.annotation.Resource;
*/
@Component
@Slf4j
public class DeptRefreshConsumer extends AbstractChannelMessageListener<DeptRefreshMessage> {
public class DeptRefreshConsumer {
@Resource
private DeptService deptService;
@Override
public void onMessage(DeptRefreshMessage message) {
log.info("[onMessage][收到 Dept 刷新消息]");
@EventListener
public void execute(DeptRefreshMessage message) {
log.info("[execute][收到 Dept 刷新消息]");
deptService.initLocalCache();
}

View File

@@ -3,10 +3,10 @@ package cn.iocoder.yudao.module.system.mq.consumer.permission;
import cn.iocoder.yudao.module.system.mq.message.permission.MenuRefreshMessage;
import cn.iocoder.yudao.module.system.service.permission.MenuService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.function.Consumer;
/**
* 针对 {@link MenuRefreshMessage} 的消费者
@@ -15,14 +15,14 @@ import java.util.function.Consumer;
*/
@Component
@Slf4j
public class MenuRefreshConsumer implements Consumer<MenuRefreshMessage> {
public class MenuRefreshConsumer {
@Resource
private MenuService menuService;
@Override
public void accept(MenuRefreshMessage menuRefreshMessage) {
log.info("[accept][收到 Menu 刷新消息]");
@EventListener
public void execute(MenuRefreshMessage menuRefreshMessage) {
log.info("[execute][收到 Menu 刷新消息]");
menuService.initLocalCache();
}
}

View File

@@ -1,13 +1,12 @@
package cn.iocoder.yudao.module.system.mq.consumer.permission;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener;
import cn.iocoder.yudao.module.system.mq.message.permission.RoleMenuRefreshMessage;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.function.Consumer;
/**
* 针对 {@link RoleMenuRefreshMessage} 的消费者
@@ -16,14 +15,14 @@ import java.util.function.Consumer;
*/
@Component
@Slf4j
public class RoleMenuRefreshConsumer implements Consumer<RoleMenuRefreshMessage> {
public class RoleMenuRefreshConsumer {
@Resource
private PermissionService permissionService;
@Override
public void accept(RoleMenuRefreshMessage roleMenuRefreshMessage) {
log.info("[accept][收到 Role 与 Menu 的关联刷新消息]");
@EventListener
public void execute(RoleMenuRefreshMessage roleMenuRefreshMessage) {
log.info("[execute][收到 Role 与 Menu 的关联刷新消息]");
permissionService.initLocalCache();
}
}

View File

@@ -3,10 +3,10 @@ package cn.iocoder.yudao.module.system.mq.consumer.permission;
import cn.iocoder.yudao.module.system.mq.message.permission.RoleRefreshMessage;
import cn.iocoder.yudao.module.system.service.permission.RoleService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.function.Consumer;
/**
* 针对 {@link RoleRefreshMessage} 的消费者
@@ -15,14 +15,14 @@ import java.util.function.Consumer;
*/
@Component
@Slf4j
public class RoleRefreshConsumer implements Consumer<RoleRefreshMessage> {
public class RoleRefreshConsumer {
@Resource
private RoleService roleService;
@Override
public void accept(RoleRefreshMessage message) {
log.info("[accept][收到 Role 刷新消息]");
@EventListener
public void execute(RoleRefreshMessage message) {
log.info("[execute][收到 Role 刷新消息]");
roleService.initLocalCache();
}

View File

@@ -3,10 +3,10 @@ package cn.iocoder.yudao.module.system.mq.consumer.permission;
import cn.iocoder.yudao.module.system.mq.message.permission.UserRoleRefreshMessage;
import cn.iocoder.yudao.module.system.service.permission.PermissionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.function.Consumer;
/**
* 针对 {@link UserRoleRefreshMessage} 的消费者
@@ -15,14 +15,14 @@ import java.util.function.Consumer;
*/
@Component
@Slf4j
public class UserRoleRefreshConsumer implements Consumer<UserRoleRefreshMessage> {
public class UserRoleRefreshConsumer {
@Resource
private PermissionService permissionService;
@Override
public void accept(UserRoleRefreshMessage userRoleRefreshMessage) {
log.info("[accept][收到 User 与 Role 的关联刷新消息]");
@EventListener
public void execute(UserRoleRefreshMessage userRoleRefreshMessage) {
log.info("[execute][收到 User 与 Role 的关联刷新消息]");
permissionService.initLocalCache();
}
}

View File

@@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.system.mq.consumer.sensitiveword;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener;
import cn.iocoder.yudao.module.system.mq.message.sensitiveword.SensitiveWordRefreshMessage;
import cn.iocoder.yudao.module.system.service.sensitiveword.SensitiveWordService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -15,14 +15,14 @@ import javax.annotation.Resource;
*/
@Component
@Slf4j
public class SensitiveWordRefreshConsumer extends AbstractChannelMessageListener<SensitiveWordRefreshMessage> {
public class SensitiveWordRefreshConsumer {
@Resource
private SensitiveWordService sensitiveWordService;
@Override
public void onMessage(SensitiveWordRefreshMessage message) {
log.info("[onMessage][收到 SensitiveWord 刷新消息]");
@EventListener
public void execute(SensitiveWordRefreshMessage message) {
log.info("[execute][收到 SensitiveWord 刷新消息]");
sensitiveWordService.initLocalCache();
}

View File

@@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.system.mq.consumer.sms;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener;
import cn.iocoder.yudao.module.system.mq.message.sms.SmsChannelRefreshMessage;
import cn.iocoder.yudao.module.system.service.sms.SmsChannelService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -15,14 +15,14 @@ import javax.annotation.Resource;
*/
@Component
@Slf4j
public class SmsChannelRefreshConsumer extends AbstractChannelMessageListener<SmsChannelRefreshMessage> {
public class SmsChannelRefreshConsumer {
@Resource
private SmsChannelService smsChannelService;
@Override
public void onMessage(SmsChannelRefreshMessage message) {
log.info("[onMessage][收到 SmsChannel 刷新消息]");
@EventListener
public void execute(SmsChannelRefreshMessage message) {
log.info("[execute][收到 SmsChannel 刷新消息]");
smsChannelService.initSmsClients();
}

View File

@@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.system.mq.consumer.sms;
import cn.iocoder.yudao.module.system.mq.message.sms.SmsTemplateRefreshMessage;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessageListener;
import cn.iocoder.yudao.module.system.service.sms.SmsTemplateService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -15,14 +15,14 @@ import javax.annotation.Resource;
*/
@Component
@Slf4j
public class SmsTemplateRefreshConsumer extends AbstractChannelMessageListener<SmsTemplateRefreshMessage> {
public class SmsTemplateRefreshConsumer {
@Resource
private SmsTemplateService smsTemplateService;
@Override
public void onMessage(SmsTemplateRefreshMessage message) {
log.info("[onMessage][收到 SmsTemplate 刷新消息]");
@EventListener
public void execute(SmsTemplateRefreshMessage message) {
log.info("[execute][收到 SmsTemplate 刷新消息]");
smsTemplateService.initLocalCache();
}

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.module.system.mq.message.auth;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* OAuth 2.0 客户端的数据刷新 Message
@@ -11,11 +11,13 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class OAuth2ClientRefreshMessage extends AbstractChannelMessage {
public class OAuth2ClientRefreshMessage extends RemoteApplicationEvent {
@Override
public String getChannel() {
return "system.oauth2-client.refresh";
public OAuth2ClientRefreshMessage() {
}
public OAuth2ClientRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.module.system.mq.message.dept;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 部门数据刷新 Message
@@ -11,11 +11,13 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class DeptRefreshMessage extends AbstractChannelMessage {
public class DeptRefreshMessage extends RemoteApplicationEvent {
@Override
public String getChannel() {
return "system.dept.refresh";
public DeptRefreshMessage() {
}
public DeptRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,14 +1,19 @@
package cn.iocoder.yudao.module.system.mq.message.permission;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 菜单数据刷新 Message
*
* @author 芋道源码
*/
@Data
public class MenuRefreshMessage {
public class MenuRefreshMessage extends RemoteApplicationEvent {
public MenuRefreshMessage() {
}
public MenuRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,8 +1,7 @@
package cn.iocoder.yudao.module.system.mq.message.permission;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 角色与菜单数据刷新 Message
@@ -10,5 +9,13 @@ import lombok.EqualsAndHashCode;
* @author 芋道源码
*/
@Data
public class RoleMenuRefreshMessage {
public class RoleMenuRefreshMessage extends RemoteApplicationEvent {
public RoleMenuRefreshMessage() {
}
public RoleMenuRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.system.mq.message.permission;
import lombok.Data;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 角色数据刷新 Message
@@ -8,5 +9,13 @@ import lombok.Data;
* @author 芋道源码
*/
@Data
public class RoleRefreshMessage {
public class RoleRefreshMessage extends RemoteApplicationEvent {
public RoleRefreshMessage() {
}
public RoleRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.system.mq.message.permission;
import lombok.Data;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 用户与角色的数据刷新 Message
@@ -8,5 +9,13 @@ import lombok.Data;
* @author 芋道源码
*/
@Data
public class UserRoleRefreshMessage {
public class UserRoleRefreshMessage extends RemoteApplicationEvent {
public UserRoleRefreshMessage() {
}
public UserRoleRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,19 +1,21 @@
package cn.iocoder.yudao.module.system.mq.message.sensitiveword;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 敏感词的刷新 Message
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class SensitiveWordRefreshMessage extends AbstractChannelMessage {
public class SensitiveWordRefreshMessage extends RemoteApplicationEvent {
@Override
public String getChannel() {
return "system.sensitive-word.refresh";
public SensitiveWordRefreshMessage() {
}
public SensitiveWordRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.module.system.mq.message.sms;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 短信渠道的数据刷新 Message
@@ -11,11 +11,13 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class SmsChannelRefreshMessage extends AbstractChannelMessage {
public class SmsChannelRefreshMessage extends RemoteApplicationEvent {
@Override
public String getChannel() {
return "system.sms-channel.refresh";
public SmsChannelRefreshMessage() {
}
public SmsChannelRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,8 +1,8 @@
package cn.iocoder.yudao.module.system.mq.message.sms;
import cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.cloud.bus.event.RemoteApplicationEvent;
/**
* 短信模板的数据刷新 Message
@@ -11,11 +11,13 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class SmsTemplateRefreshMessage extends AbstractChannelMessage {
public class SmsTemplateRefreshMessage extends RemoteApplicationEvent {
@Override
public String getChannel() {
return "system.sms-template.refresh";
public SmsTemplateRefreshMessage() {
}
public SmsTemplateRefreshMessage(Object source, String originService, String destinationService) {
super(source, originService, destinationService);
}
}

View File

@@ -1,26 +1,20 @@
package cn.iocoder.yudao.module.system.mq.producer.auth;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import cn.iocoder.yudao.framework.mq.core.bus.AbstractBusProducer;
import cn.iocoder.yudao.module.system.mq.message.auth.OAuth2ClientRefreshMessage;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* OAuth 2.0 客户端相关消息的 Producer
*/
@Component
public class OAuth2ClientProducer {
@Resource
private RedisMQTemplate redisMQTemplate;
public class OAuth2ClientProducer extends AbstractBusProducer {
/**
* 发送 {@link OAuth2ClientRefreshMessage} 消息
*/
public void sendOAuth2ClientRefreshMessage() {
OAuth2ClientRefreshMessage message = new OAuth2ClientRefreshMessage();
redisMQTemplate.send(message);
publishEvent(new OAuth2ClientRefreshMessage(this, getBusId(), selfDestinationService()));
}
}

View File

@@ -1,26 +1,20 @@
package cn.iocoder.yudao.module.system.mq.producer.dept;
import cn.iocoder.yudao.framework.mq.core.bus.AbstractBusProducer;
import cn.iocoder.yudao.module.system.mq.message.dept.DeptRefreshMessage;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* Dept 部门相关消息的 Producer
*/
@Component
public class DeptProducer {
@Resource
private RedisMQTemplate redisMQTemplate;
public class DeptProducer extends AbstractBusProducer {
/**
* 发送 {@link DeptRefreshMessage} 消息
*/
public void sendDeptRefreshMessage() {
DeptRefreshMessage message = new DeptRefreshMessage();
redisMQTemplate.send(message);
publishEvent(new DeptRefreshMessage(this, getBusId(), selfDestinationService()));
}
}

View File

@@ -1,27 +1,20 @@
package cn.iocoder.yudao.module.system.mq.producer.permission;
import cn.iocoder.yudao.framework.mq.core.bus.AbstractBusProducer;
import cn.iocoder.yudao.module.system.mq.message.permission.MenuRefreshMessage;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import org.springframework.cloud.stream.function.StreamBridge;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* Menu 菜单相关消息的 Producer
*/
@Component
public class MenuProducer {
@Resource
private StreamBridge streamBridge;
public class MenuProducer extends AbstractBusProducer {
/**
* 发送 {@link MenuRefreshMessage} 消息
*/
public void sendMenuRefreshMessage() {
MenuRefreshMessage message = new MenuRefreshMessage();
streamBridge.send("menuRefresh-out-0", message);
publishEvent(new MenuRefreshMessage(this, getBusId(), selfDestinationService()));
}
}

View File

@@ -1,36 +1,28 @@
package cn.iocoder.yudao.module.system.mq.producer.permission;
import cn.iocoder.yudao.framework.mq.core.bus.AbstractBusProducer;
import cn.iocoder.yudao.module.system.mq.message.permission.RoleMenuRefreshMessage;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import cn.iocoder.yudao.module.system.mq.message.permission.UserRoleRefreshMessage;
import org.springframework.cloud.stream.function.StreamBridge;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* Permission 权限相关消息的 Producer
*/
@Component
public class PermissionProducer {
@Resource
private StreamBridge streamBridge;
public class PermissionProducer extends AbstractBusProducer {
/**
* 发送 {@link RoleMenuRefreshMessage} 消息
*/
public void sendRoleMenuRefreshMessage() {
RoleMenuRefreshMessage message = new RoleMenuRefreshMessage();
streamBridge.send("roleMenuRefresh-out-0", message);
publishEvent(new RoleMenuRefreshMessage(this, getBusId(), selfDestinationService()));
}
/**
* 发送 {@link UserRoleRefreshMessage} 消息
*/
public void sendUserRoleRefreshMessage() {
UserRoleRefreshMessage message = new UserRoleRefreshMessage();
streamBridge.send("userRoleRefresh-out-0", message);
publishEvent(new UserRoleRefreshMessage(this, getBusId(), selfDestinationService()));
}
}

View File

@@ -1,32 +1,22 @@
package cn.iocoder.yudao.module.system.mq.producer.permission;
import cn.iocoder.yudao.framework.mq.core.bus.AbstractBusProducer;
import cn.iocoder.yudao.module.system.mq.message.permission.RoleRefreshMessage;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.stream.function.StreamBridge;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* Role 角色相关消息的 Producer
*
* @author 芋道源码
*/
@Component
public class RoleProducer {
@Resource
private StreamBridge streamBridge;
public class RoleProducer extends AbstractBusProducer {
/**
* 发送 {@link RoleRefreshMessage} 消息
*/
public void sendRoleRefreshMessage() {
RoleRefreshMessage message = new RoleRefreshMessage();
streamBridge.send("roleRefresh-out-0", message);
publishEvent(new RoleRefreshMessage(this, getBusId(), selfDestinationService()));
}
}

View File

@@ -1,26 +1,21 @@
package cn.iocoder.yudao.module.system.mq.producer.sensitiveword;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import cn.iocoder.yudao.framework.mq.core.bus.AbstractBusProducer;
import cn.iocoder.yudao.module.system.mq.message.sensitiveword.SensitiveWordRefreshMessage;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* 敏感词相关的 Producer
*/
@Component
public class SensitiveWordProducer {
@Resource
private RedisMQTemplate redisMQTemplate;
public class SensitiveWordProducer extends AbstractBusProducer {{
}
/**
* 发送 {@link SensitiveWordRefreshMessage} 消息
*/
public void sendSensitiveWordRefreshMessage() {
SensitiveWordRefreshMessage message = new SensitiveWordRefreshMessage();
redisMQTemplate.send(message);
publishEvent(new SensitiveWordRefreshMessage(this, getBusId(), selfDestinationService()));
}
}

View File

@@ -1,10 +1,11 @@
package cn.iocoder.yudao.module.system.mq.producer.sms;
import cn.iocoder.yudao.framework.common.core.KeyValue;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import cn.iocoder.yudao.framework.mq.core.bus.AbstractBusProducer;
import cn.iocoder.yudao.module.system.mq.message.sms.SmsChannelRefreshMessage;
import cn.iocoder.yudao.module.system.mq.message.sms.SmsSendMessage;
import cn.iocoder.yudao.module.system.mq.message.sms.SmsTemplateRefreshMessage;
import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@@ -19,7 +20,7 @@ import java.util.List;
*/
@Slf4j
@Component
public class SmsProducer {
public class SmsProducer extends AbstractBusProducer {
@Resource
private RedisMQTemplate redisMQTemplate;
@@ -28,16 +29,14 @@ public class SmsProducer {
* 发送 {@link SmsChannelRefreshMessage} 消息
*/
public void sendSmsChannelRefreshMessage() {
SmsChannelRefreshMessage message = new SmsChannelRefreshMessage();
redisMQTemplate.send(message);
publishEvent(new SmsChannelRefreshMessage(this, getBusId(), selfDestinationService()));
}
/**
* 发送 {@link SmsTemplateRefreshMessage} 消息
*/
public void sendSmsTemplateRefreshMessage() {
SmsTemplateRefreshMessage message = new SmsTemplateRefreshMessage();
redisMQTemplate.send(message);
publishEvent(new SmsTemplateRefreshMessage(this, getBusId(), selfDestinationService()));
}
/**

View File

@@ -51,12 +51,13 @@ dubbo:
address: spring-cloud://localhost # 设置使用 Spring Cloud 注册中心
--- #################### MQ 消息队列相关配置 ####################
spring:
cloud:
# Spring Cloud Stream 配置项,对应 BindingServiceProperties 类
stream:
function:
definition: roleRefreshConsumer;menuRefreshConsumer;roleMenuRefreshConsumer;userRoleRefreshConsumer;
# function:
# definition: roleRefreshConsumer;roleMenuRefreshConsumer;userRoleRefreshConsumer;
# Binding 配置项,对应 BindingProperties Map
bindings:
roleRefresh-out-0:
@@ -64,21 +65,6 @@ spring:
roleRefreshConsumer-in-0:
destination: system_role_refresh
group: system_role_refresh_consumer_group
menuRefresh-out-0:
destination: system_menu_refresh
menuRefreshConsumer-in-0:
destination: system_menu_refresh
group: system_menu_refresh_consumer_group
roleMenuRefresh-out-0:
destination: system_role_menu_refresh
roleMenuRefreshConsumer-in-0:
destination: system_role_menu_refresh
group: system_role_menu_refresh_consumer_group
userRoleRefresh-out-0:
destination: system_user_role_refresh
userRoleRefreshConsumer-in-0:
destination: system_user_role_refresh
group: system_user_role_refresh_consumer_group
# Spring Cloud Stream RocketMQ 配置项
rocketmq:
# RocketMQ Binder 配置项,对应 RocketMQBinderConfigurationProperties 类
@@ -88,20 +74,12 @@ spring:
producer: # RocketMQ Producer 配置项,对应 RocketMQProducerProperties 类
group: system_producer_group # 生产者分组
send-type: SYNC # 发送模式SYNC 同步
# RocketMQ 自定义 Binding 配置项,对应 RocketMQBindingProperties Map
bindings:
roleRefreshConsumer-in-0:
consumer:
message-model: BROADCASTING # 广播消费
menuRefreshConsumer-in-0:
consumer:
message-model: BROADCASTING # 广播消费
roleMenuRefreshConsumer-in-0:
consumer:
message-model: BROADCASTING # 广播消费
userRoleRefreshConsumer-in-0:
consumer:
message-model: BROADCASTING # 广播消费
# Spring Cloud Bus 配置项,对应 BusProperties 类
bus:
enabled: true # 是否开启,默认为 true
id: ${spring.application.name}:${server.port} # 编号Spring Cloud Alibaba 建议使用“应用:端口”的格式
destination: springCloudBus2 # 目标消息队列,默认为 springCloudBus
--- #################### 芋道相关配置 ####################