Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
clx-performance
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
姜武杰
clx-performance
Commits
48c53682
提交
48c53682
authored
11月 29, 2023
作者:
huyufan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
订单增加延迟消息发送更改
上级
f33baf64
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
12 行增加
和
71 行删除
+12
-71
RabbitBeanConfig.java
...ain/java/com/clx/performance/config/RabbitBeanConfig.java
+10
-70
GoodsOrderStrategy.java
...java/com/clx/performance/strategy/GoodsOrderStrategy.java
+2
-1
没有找到文件。
performance-web/src/main/java/com/clx/performance/config/RabbitBeanConfig.java
浏览文件 @
48c53682
...
...
@@ -42,84 +42,31 @@ public class RabbitBeanConfig {
@Bean
public
Queue
orderOnQueue
()
{
Map
<
String
,
Object
>
params
=
new
HashMap
<>(
6
);
params
.
put
(
"x-dead-letter-exchange"
,
RabbitKeyConstants
.
ORDER_ON_DEAD_EXCHANGE
);
params
.
put
(
"x-dead-letter-routing-key"
,
RabbitKeyConstants
.
ORDER_ON_DEAD_ROUTE_KEY
);
return
new
Queue
(
RabbitKeyConstants
.
ORDER_ON_QUEUE
,
true
,
false
,
false
,
params
);
return
new
Queue
(
RabbitKeyConstants
.
ORDER_ON_QUEUE
,
true
,
false
,
false
);
}
/**
* 订单挂单中交换机
**/
@Bean
public
DirectExchange
orderOnExchange
()
{
return
new
DirectExchange
(
RabbitKeyConstants
.
ORDER_ON_EXCHANGE
);
public
CustomExchange
orderOnExchange
()
{
Map
<
String
,
Object
>
arguments
=
new
HashMap
<>();
//设置路由模式 direct模式
arguments
.
put
(
"x-delayed-type"
,
"direct"
);
return
new
CustomExchange
(
RabbitKeyConstants
.
ORDER_ON_EXCHANGE
,
"x-delayed-message"
,
true
,
false
,
arguments
);
}
/**
* 订单挂单中绑定
*/
@Bean
public
Binding
orderOnExchangeBind
()
{
return
BindingBuilder
.
bind
(
orderOnQueue
()).
to
(
orderOnExchange
()).
with
(
RabbitKeyConstants
.
ORDER_ON_ROUTE_KEY
);
public
Binding
orderOnExchangeBind
(
@Qualifier
(
"orderOnQueue"
)
Queue
queue
,
@Qualifier
(
"orderOnExchange"
)
CustomExchange
customExchange
)
{
return
BindingBuilder
.
bind
(
queue
).
to
(
customExchange
).
with
(
RabbitKeyConstants
.
ORDER_ON_ROUTE_KEY
).
noargs
(
);
}
/**
* 死信队列:死信队列处理延迟消息
* @return
*/
@Bean
public
Queue
orderOnDeadQueue
()
{
return
new
Queue
(
RabbitKeyConstants
.
ORDER_ON_DEAD_QUEUE
,
true
,
false
,
false
);
}
/**
* 订单挂单中交换机:死信队列处理延迟消息
**/
@Bean
public
DirectExchange
orderOnDeadExchange
()
{
return
new
DirectExchange
(
RabbitKeyConstants
.
ORDER_ON_DEAD_EXCHANGE
);
}
/**
* 订单挂单中绑定:死信队列处理延迟消息
*/
@Bean
public
Binding
orderDeadExchangeBind
()
{
return
BindingBuilder
.
bind
(
orderOnDeadQueue
()).
to
(
orderOnDeadExchange
()).
with
(
RabbitKeyConstants
.
ORDER_ON_DEAD_ROUTE_KEY
);
}
/**
// * 货单挂单队列
// * @return
// */
// @Bean
// public Queue orderGoodsOnQueue() {
// Map<String, Object> params = new HashMap<>(6);
// params.put("x-dead-letter-exchange", RabbitKeyConstants.ORDER_GOODS_ON_DEAD_EXCHANGE);
// params.put("x-dead-letter-routing-key", RabbitKeyConstants.ORDER_GOODS_ON_DEAD_ROUTE_KEY);
// return new Queue(RabbitKeyConstants.ORDER_GOODS_ON_QUEUE, true, false, false, params);
// }
//
// /**
// * 货单挂单中交换机
// **/
// @Bean
// public DirectExchange orderGoodsOnExchange() {
// return new DirectExchange(RabbitKeyConstants.ORDER_GOODS_ON_EXCHANGE);
// }
//
// /**
// * 货单挂单中绑定
// */
// @Bean
// public Binding orderGoodsOnExchangeBind() {
// return BindingBuilder.bind(orderGoodsOnQueue()).to(orderGoodsOnExchange()).with(RabbitKeyConstants.ORDER_GOODS_ON_ROUTE_KEY);
// }
/**
* 死信队列:死信队列处理延迟消息货单挂单
* 处理延迟消息货单挂单
* @return
*/
@Bean
...
...
@@ -128,7 +75,7 @@ public class RabbitBeanConfig {
}
/**
* 货单挂单中交换机:
死信队列
处理延迟消息
* 货单挂单中交换机:处理延迟消息
**/
@Bean
public
CustomExchange
orderGoodsOnDeadExchange
()
{
...
...
@@ -138,13 +85,6 @@ public class RabbitBeanConfig {
return
new
CustomExchange
(
RabbitKeyConstants
.
ORDER_GOODS_ON_DEAD_EXCHANGE
,
"x-delayed-message"
,
true
,
false
,
arguments
);
}
/**
* 货单挂单中绑定:死信队列处理延迟消息
*/
// @Bean
// public Binding orderGoodsDeadExchangeBind() {
// return BindingBuilder.bind(orderGoodsOnDeadQueue()).to(orderGoodsOnDeadExchange()).with(RabbitKeyConstants.ORDER_GOODS_ON_DEAD_ROUTE_KEY);
// }
//绑定交换机,队列和routingKey
@Bean
public
Binding
delayedQueueBindingDelayedExchange
(
@Qualifier
(
"orderGoodsOnDeadQueue"
)
Queue
queue
,
@Qualifier
(
"orderGoodsOnDeadExchange"
)
CustomExchange
customExchange
)
{
...
...
performance-web/src/main/java/com/clx/performance/strategy/GoodsOrderStrategy.java
浏览文件 @
48c53682
...
...
@@ -87,7 +87,8 @@ public abstract class GoodsOrderStrategy {
log
.
info
(
"执行订单状态更改,epochMilli时间不为0,时间为:{}"
,
epochMilli
);
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_POSTED_EXCHANGE
,
RabbitKeyConstants
.
ORDER_POSTED_ROUTE_KEY
,
MessageBuilder
.
withBody
(
orderNo
.
getBytes
()).
build
());
message
.
getMessageProperties
().
setExpiration
(
String
.
valueOf
(
epochMilli
));
message
.
getMessageProperties
().
setHeader
(
"x-delay"
,
epochMilli
);
rabbitTemplate
.
send
(
RabbitKeyConstants
.
ORDER_ON_EXCHANGE
,
RabbitKeyConstants
.
ORDER_ON_ROUTE_KEY
,
message
);
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论