<!--
定义rabbitmq connectionFactory
publisher-confirms="true": 开启确认模式
publisher-returns="true": 开启回退模式
-->
<rabbit:connection-factory id="connectionFactory" host="${rabbitmq.host}"
port="${rabbitmq.port}"
username="${rabbitmq.username}"
password="${rabbitmq.password}"
virtual-host="${rabbitmq.virtual-host}"
publisher-confirms="true"
publisher-returns="true"
/>
编写测试类:
设置Exchange处理消息的模式:rabbitTemplate.setMandatory(true);,当消息没有路由到Queue,则触发回调函数
/\*\*
\* 回退模式: 当消息发送给Exchange后,Exchange路由到Queue失败时 才会执行 ReturnCallBack
\* 步骤:
\* 1. 开启回退模式:publisher-returns="true"
\* 2. 设置ReturnCallBack
\* 3. 设置Exchange处理消息的模式:
\* 1. 如果消息没有路由到Queue,则丢弃消息(默认)
\* 2. 如果消息没有路由到Queue,返回给消息发送方ReturnCallBack
\*/
@Test
public void testReturn() {
// 开启消息回退
rabbitTemplate.setMandatory(true);
//2.设置ReturnCallBack
rabbitTemplate.setReturnCallback(new RabbitTemplate.ReturnCallback() {
/\*\*
\*
\* @param message 消息对象
\* @param replyCode 错误码
\* @param replyText 错误信息
\* @param exchange 交换机
\* @param routingKey 路由键
\*/
@Override
public void returnedMessage(Message message, int replyCode, String replyText, String exchange, String routingKey) {
System.out.println("return 执行了....");
System.out.println("message: " + message);
System.out.println("replyCode: " + replyCode);
System.out.println("replyText: " + replyText);
System.out.println("exchange: " + exchange);
System.out.println("routingKey: " + routingKey);
//处理
}
});
//3. 发送消息
rabbitTemplate.convertAndSend("test\_exchange\_confirm", "confirm", "message confirm....");
还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!
王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。
对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!
【完整版领取方式在文末!!】
***93道网络安全面试题***



内容实在太多,不一一截图了
### 黑客学习资源推荐
最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
#### 1️⃣零基础入门
##### ① 学习路线
对于从来没有接触过网络安全的同学,我们帮你准备了详细的**学习成长路线图**。可以说是**最科学最系统的学习路线**,大家跟着这个大的方向学习准没问题。

##### ② 路线对应学习视频
同时每个成长路线对应的板块都有配套的视频提供:

RabbitMQ测试类消息处理模式设置
4360

被折叠的 条评论
为什么被折叠?



