Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Y
yudao-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
hblj
yudao-cloud
Commits
6471c464
提交
6471c464
authored
6月 18, 2022
作者:
YunaiV
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
集成 spring-cloud-starter-stream-rocketmq 组件
上级
d150a833
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
66 行增加
和
21 行删除
+66
-21
pom.xml
yudao-framework/yudao-spring-boot-starter-mq/pom.xml
+7
-0
MenuRefreshConsumer.java
...le/system/mq/consumer/permission/MenuRefreshConsumer.java
+3
-4
RoleRefreshConsumer.java
...le/system/mq/consumer/permission/RoleRefreshConsumer.java
+3
-3
RoleRefreshMessage.java
...dule/system/mq/message/permission/RoleRefreshMessage.java
+1
-10
MenuProducer.java
...ao/module/system/mq/producer/permission/MenuProducer.java
+3
-2
RoleProducer.java
...ao/module/system/mq/producer/permission/RoleProducer.java
+6
-2
application.yaml
...dao-module-system-biz/src/main/resources/application.yaml
+43
-0
没有找到文件。
yudao-framework/yudao-spring-boot-starter-mq/pom.xml
浏览文件 @
6471c464
...
@@ -21,6 +21,13 @@
...
@@ -21,6 +21,13 @@
<groupId>
cn.iocoder.cloud
</groupId>
<groupId>
cn.iocoder.cloud
</groupId>
<artifactId>
yudao-spring-boot-starter-redis
</artifactId>
<artifactId>
yudao-spring-boot-starter-redis
</artifactId>
</dependency>
</dependency>
<!-- MQ 相关 -->
<dependency>
<groupId>
com.alibaba.cloud
</groupId>
<!-- 引入 Spring Cloud Alibaba Stream RocketMQ 相关依赖,将 RocketMQ 作为消息队列,并实现对其的自动配置 -->
<artifactId>
spring-cloud-starter-stream-rocketmq
</artifactId>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/mq/consumer/permission/MenuRefreshConsumer.java
浏览文件 @
6471c464
package
cn
.
iocoder
.
yudao
.
module
.
system
.
mq
.
consumer
.
permission
;
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.MenuRefreshMessage
;
import
cn.iocoder.yudao.module.system.mq.message.permission.MenuRefreshMessage
;
import
cn.iocoder.yudao.module.system.service.permission.MenuService
;
import
cn.iocoder.yudao.module.system.service.permission.MenuService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.function.Consumer
;
/**
/**
* 针对 {@link MenuRefreshMessage} 的消费者
* 针对 {@link MenuRefreshMessage} 的消费者
...
@@ -15,15 +15,14 @@ import javax.annotation.Resource;
...
@@ -15,15 +15,14 @@ import javax.annotation.Resource;
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
MenuRefreshConsumer
extends
AbstractChannelMessageListen
er
<
MenuRefreshMessage
>
{
public
class
MenuRefreshConsumer
implements
Consum
er
<
MenuRefreshMessage
>
{
@Resource
@Resource
private
MenuService
menuService
;
private
MenuService
menuService
;
@Override
@Override
public
void
onMessage
(
MenuRefreshMessage
m
essage
)
{
public
void
accept
(
MenuRefreshMessage
menuRefreshM
essage
)
{
log
.
info
(
"[onMessage][收到 Menu 刷新消息]"
);
log
.
info
(
"[onMessage][收到 Menu 刷新消息]"
);
menuService
.
initLocalCache
();
menuService
.
initLocalCache
();
}
}
}
}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/mq/consumer/permission/RoleRefreshConsumer.java
浏览文件 @
6471c464
package
cn
.
iocoder
.
yudao
.
module
.
system
.
mq
.
consumer
.
permission
;
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.RoleRefreshMessage
;
import
cn.iocoder.yudao.module.system.mq.message.permission.RoleRefreshMessage
;
import
cn.iocoder.yudao.module.system.service.permission.RoleService
;
import
cn.iocoder.yudao.module.system.service.permission.RoleService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.function.Consumer
;
/**
/**
* 针对 {@link RoleRefreshMessage} 的消费者
* 针对 {@link RoleRefreshMessage} 的消费者
...
@@ -15,13 +15,13 @@ import javax.annotation.Resource;
...
@@ -15,13 +15,13 @@ import javax.annotation.Resource;
*/
*/
@Component
@Component
@Slf4j
@Slf4j
public
class
RoleRefreshConsumer
extends
AbstractChannelMessageListen
er
<
RoleRefreshMessage
>
{
public
class
RoleRefreshConsumer
implements
Consum
er
<
RoleRefreshMessage
>
{
@Resource
@Resource
private
RoleService
roleService
;
private
RoleService
roleService
;
@Override
@Override
public
void
onMessage
(
RoleRefreshMessage
message
)
{
public
void
accept
(
RoleRefreshMessage
message
)
{
log
.
info
(
"[onMessage][收到 Role 刷新消息]"
);
log
.
info
(
"[onMessage][收到 Role 刷新消息]"
);
roleService
.
initLocalCache
();
roleService
.
initLocalCache
();
}
}
...
...
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/mq/message/permission/RoleRefreshMessage.java
浏览文件 @
6471c464
package
cn
.
iocoder
.
yudao
.
module
.
system
.
mq
.
message
.
permission
;
package
cn
.
iocoder
.
yudao
.
module
.
system
.
mq
.
message
.
permission
;
import
cn.iocoder.yudao.framework.mq.core.pubsub.AbstractChannelMessage
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
/**
* 角色数据刷新 Message
* 角色数据刷新 Message
...
@@ -10,12 +8,5 @@ import lombok.EqualsAndHashCode;
...
@@ -10,12 +8,5 @@ import lombok.EqualsAndHashCode;
* @author 芋道源码
* @author 芋道源码
*/
*/
@Data
@Data
@EqualsAndHashCode
(
callSuper
=
true
)
public
class
RoleRefreshMessage
{
public
class
RoleRefreshMessage
extends
AbstractChannelMessage
{
@Override
public
String
getChannel
()
{
return
"system.role.refresh"
;
}
}
}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/mq/producer/permission/MenuProducer.java
浏览文件 @
6471c464
...
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.mq.producer.permission;
...
@@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.system.mq.producer.permission;
import
cn.iocoder.yudao.module.system.mq.message.permission.MenuRefreshMessage
;
import
cn.iocoder.yudao.module.system.mq.message.permission.MenuRefreshMessage
;
import
cn.iocoder.yudao.framework.mq.core.RedisMQTemplate
;
import
cn.iocoder.yudao.framework.mq.core.RedisMQTemplate
;
import
org.springframework.cloud.stream.function.StreamBridge
;
import
org.springframework.stereotype.Component
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
@@ -13,14 +14,14 @@ import javax.annotation.Resource;
...
@@ -13,14 +14,14 @@ import javax.annotation.Resource;
public
class
MenuProducer
{
public
class
MenuProducer
{
@Resource
@Resource
private
RedisMQTemplate
redisMQTemplat
e
;
private
StreamBridge
streamBridg
e
;
/**
/**
* 发送 {@link MenuRefreshMessage} 消息
* 发送 {@link MenuRefreshMessage} 消息
*/
*/
public
void
sendMenuRefreshMessage
()
{
public
void
sendMenuRefreshMessage
()
{
MenuRefreshMessage
message
=
new
MenuRefreshMessage
();
MenuRefreshMessage
message
=
new
MenuRefreshMessage
();
redisMQTemplate
.
send
(
message
);
streamBridge
.
send
(
"demo02-output"
,
message
);
}
}
}
}
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/mq/producer/permission/RoleProducer.java
浏览文件 @
6471c464
...
@@ -2,6 +2,10 @@ package cn.iocoder.yudao.module.system.mq.producer.permission;
...
@@ -2,6 +2,10 @@ package cn.iocoder.yudao.module.system.mq.producer.permission;
import
cn.iocoder.yudao.module.system.mq.message.permission.RoleRefreshMessage
;
import
cn.iocoder.yudao.module.system.mq.message.permission.RoleRefreshMessage
;
import
cn.iocoder.yudao.framework.mq.core.RedisMQTemplate
;
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
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
...
@@ -15,14 +19,14 @@ import javax.annotation.Resource;
...
@@ -15,14 +19,14 @@ import javax.annotation.Resource;
public
class
RoleProducer
{
public
class
RoleProducer
{
@Resource
@Resource
private
RedisMQTemplate
redisMQTemplat
e
;
private
StreamBridge
streamBridg
e
;
/**
/**
* 发送 {@link RoleRefreshMessage} 消息
* 发送 {@link RoleRefreshMessage} 消息
*/
*/
public
void
sendRoleRefreshMessage
()
{
public
void
sendRoleRefreshMessage
()
{
RoleRefreshMessage
message
=
new
RoleRefreshMessage
();
RoleRefreshMessage
message
=
new
RoleRefreshMessage
();
redisMQTemplate
.
send
(
message
);
streamBridge
.
send
(
"demo01-output"
,
message
);
}
}
}
}
yudao-module-system/yudao-module-system-biz/src/main/resources/application.yaml
浏览文件 @
6471c464
...
@@ -50,6 +50,49 @@ dubbo:
...
@@ -50,6 +50,49 @@ dubbo:
registry
:
registry
:
address
:
spring-cloud://localhost
# 设置使用 Spring Cloud 注册中心
address
:
spring-cloud://localhost
# 设置使用 Spring Cloud 注册中心
---
#################### MQ 消息队列相关配置 ####################
spring
:
cloud
:
# Spring Cloud Stream 配置项,对应 BindingServiceProperties 类
stream
:
function
:
definition
:
roleRefreshConsumer;menuRefreshConsumer;
# Binding 配置项,对应 BindingProperties Map
bindings
:
demo01-output
:
destination
:
TEST
roleRefreshConsumer-in-0
:
destination
:
TEST
group
:
roleRefreshConsumer
demo02-output
:
destination
:
TEST2
menuRefreshConsumer-in-0
:
destination
:
TEST2
group
:
menuRefreshConsumer
# Spring Cloud Stream RocketMQ 配置项
rocketmq
:
# RocketMQ Binder 配置项,对应 RocketMQBinderConfigurationProperties 类
binder
:
name-server
:
127.0.0.1:9876
# RocketMQ Namesrv 地址
# RocketMQ 自定义 Binding 配置项,对应 RocketMQBindingProperties Map
bindings
:
demo01-output
:
# RocketMQ Producer 配置项,对应 RocketMQProducerProperties 类
producer
:
group
:
test
# 生产者分组
sync
:
true
# 是否同步发送消息,默认为 false 异步。
roleRefreshConsumer-in-0
:
consumer
:
message-model
:
BROADCASTING
demo02-output
:
# RocketMQ Producer 配置项,对应 RocketMQProducerProperties 类
producer
:
group
:
test
# 生产者分组
sync
:
true
# 是否同步发送消息,默认为 false 异步。
menuRefreshConsumer-in-0
:
consumer
:
message-model
:
BROADCASTING
---
#################### 芋道相关配置 ####################
---
#################### 芋道相关配置 ####################
yudao
:
yudao
:
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论