springboot配置rabbitmq
2024-10-21 03:12:48
一.消息生成者
1.1消息生成者配置
1.2 消息发送端代码
1.3 创建交换机,队列,并建立关系
二.消费者
2.1消费者
三.限流配置
3.1配置文件
#在单个请求中处理的消息个数,他应该大于等于事务数量(unack的最大数量)
spring.rabbitmq.listener.simple.prefetch=2 #在@RabbitListener(queues = { HighDeviceMessage.QUEUE_NAME },concurrency = "${spring.rabbitmq.highdevice.concurrency}")配置的占位符配置
spring.rabbitmq.highdevice.concurrency=2-5
3.2消费者配置
@Component
public class HighDeviceMessageHandler { // @RabbitListener(queues = { HighDeviceMessage.QUEUE_NAME },ackMode ="MANUAL",concurrency = "1-10")
@RabbitListener(queues = { HighDeviceMessage.QUEUE_NAME },ackMode ="MANUAL",concurrency = "${spring.rabbitmq.highdevice.concurrency}")
public void handle(String msgStr, Channel channel,@Headers Map<String,Object> headers) {
try {
log.info("休息3秒");
log.info("handle HighDeviceMessage:{}---",msgStr);
TimeUnit.SECONDS.sleep(3);
long deliveryTag = (Long)headers.get(AmqpHeaders.DELIVERY_TAG);
//手工ack
channel.basicAck(deliveryTag,true);
} catch (Exception e) {
log.error("handle HighDeviceMessage err", e);
}
}
}
2020年6月23日16:58:05 -- 更新mq单个消费者参数配置,限流参数配置
最新文章
- docker进入后台运行的容器
- C语言中的栈和堆
- Ajax_03之接收数据
- 转发 win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 解决方案
- ASP.NET Web API系列教程目录
- PyQt 学习笔记1——自定义窗口框架
- Struts2原码分析系列之一
- 前端MVC框架对比
- Android XML使用的学习记录
- Sequence用堆排序
- BZOJ 3533 sdoi 2014 向量集
- Android4.0 -- UI控件之 Menu 菜单的的使用(四)
- 【转载】"library not found for - "解决办法
- 使用express, create-react-app, mongodb搭建react模拟数据开发环境
- IBM Websphere 集群会话共享问题解决办法
- zookeeper名字服务
- 学习ML.NET(1): 构建流水线
- Java 线性表、栈、队列和优先队列
- js实现的map方法
- linux找到目录下所有目录文件
热门文章
- 高并发redis分布式锁
- java代理(静态代理和jdk动态代理以及cglib代理)
- FPT: Feature Pyramid Transfomer
- 【Azure Application Insights】在Azure Function中启用Application Insights后,如何配置不输出某些日志到AI 的Trace中
- vue-element Form表单验证(表单验证没错却一直提示错误)
- LAMP搭建 转
- Istio 知多少 | 下一代微服务的守护者
- Mirai qq机器人 c++版sdk(即用c++写mirai)
- MyBatis初级实战之一:Spring Boot集成
- SpringBoot初识日志