springboot中怎么利用rabbitmq实现限流与并发
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,springboot中怎么利用rabbitmq实现限流与并发,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一 并发步骤:1 、在rabb
千家信息网最后更新 2025年01月19日springboot中怎么利用rabbitmq实现限流与并发
springboot中怎么利用rabbitmq实现限流与并发,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
一 并发
步骤:
1 、在rabbitListener中配置concurency="min-max"
如下代表最小并发数是5
@Component
public class pricon {
@RabbitListener(queues ="textQueue",concurrency = "5-10")
public void hand(String str){
System.out.println(Thread.currentThread().getName()+"接受到了一个消息:"+str+"现在时间:"+System.currentTimeMillis()/1000);
}
}
2、测试
@Component
public class priConsumer {
private static final String EXCHANGE = "textExchange";
public static final String QUEUE = "textQueue";
private static final String ROUTING_KEY = "textQueue";
@Autowired
RabbitTemplate template;
public void test(){
for(int i=50;i>1;i--){
int finalI = i;
template.convertAndSend(EXCHANGE,ROUTING_KEY,"queue:"+i);
}
}
}
3、在rabbitmq的控制面板中会显示:
二 限流
1、 配置Bean
setPrefetchCount 表示单位时间最多能处理多少消息
@Autowired
CachingConnectionFactory connectionFactory;
@Bean(name = "mqlistenerContainer")
public SimpleRabbitListenerContainerFactory simpleRabbitListenerContainerFactory(){
SimpleRabbitListenerContainerFactory factory=new SimpleRabbitListenerContainerFactory();
factory.setConnectionFactory(connectionFactory);
factory.setPrefetchCount(10);
return factory;
}
2、在rabbitListener中配置工厂
@RabbitListener(queues ="textQueue",concurrency = "5-10",containerFactory = "mqlistenerContainer")
public void hand(String str){
System.out.println(Thread.currentThread().getName()+"接受到了一个消息:"+str+"现在时间:"+System.currentTimeMillis()/1000);
}
在控制面板中会显示:
3结果:
看完上述内容,你们掌握springboot中怎么利用rabbitmq实现限流与并发的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
消息
配置
内容
方法
更多
现在时
问题
面板
控制
最小
束手无策
为此
代表
单位
原因
对此
工厂
技能
时间
步骤
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何注册软件开发企业
java数据库和java
网络安全评估开发
网络安全分几集
服务器如何获取更新
首页华为网络技术大赛
企业环保投资数据库
选择服务器
网络安全实名认证系统
mongo如何删除数据库
二级软件开发工程师含金量
数据库field怎么填
网络安全绘画软件工程
计算机网络技术教程自顶向下
大型数据库应用学习
接口测试提取数据库数据库
网络技术大专好找工作吗
上海会议混合现实技术软件开发
软件开发的阶段安排
网络安全简笔画手抄报
超级人类多少个服务器
剑三电五服务器
上海服务器机柜尺寸
数据库创建用户登录界面
历年网络安全工程师真题
河源单位食堂智慧餐饮软件开发
oppo网络技术
网络安全环境复杂
服务器整机租用
软件后台是指软件开发商的人吗