Mq以及多线程

本文详细介绍了如何在SpringBoot应用中使用@RabbitListener监听RabbitMQ队列,包括配置属性如queues、containerFactory、concurrency和errorHandler。同时讨论了工厂配置的通用性以及线程池的使用,如创建线程池处理快速的Runnable任务。
摘要由CSDN通过智能技术生成

在 RabbitMQ 中,消息的接收需要通过监听队列来实现。在 Spring Boot 应用程序中,可以使用 @RabbitListener 注解来监听队列,并在接收到消息时执行指定的方法。
@RabbitListener 注解有多个属性,包括 queues、containerFactory、concurrency 和 errorHandler 等。其中,queues 属性用于指定监听的队列名称;containerFactory 属性用于指定使用的 RabbitMQ 连接工厂;concurrency 属性用于指定并发消费者的数量;errorHandler 属性用于指定错误处理器。

工厂配置一般写在config文件夹下
写法如下
@Bean(name = “工厂配置名字”)
public 一个继承AbstractRabbitListenerContainerFactory的类
在里面设置公共参数

```java
@RabbitListener(queues = "消息队列的名字", containerFactory = "工厂配置名称")
```--工厂配置里可以设置消费者数量、最大消费者数、预加载数等。工厂配置可通用 这样写类似业务可以方便很多

public void 方法(){
当消息队列里有数据时,会进入代码进行消费,逻辑处理
}
处理完消息之后 调用channel里面的相应方法 对队列里的消息进行操作(删除或者重新发等)

线程池相关
创建线程池 用的比较多的是
private ExcutorService pool = Excutors.newCachedThreadPool();//创建一个可以伸缩大小的线程池 里面的线程数最大是integer的最大值,核心线程数为0 适用于 那些数量多又处理很快的 runnable类型的
通过pool.submit(里面的方法重写了run方法)进行启动

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值