第13篇 rabbitmq ConsumerDispatcher源码分析

RabbitMQ ConsumerDispatcher源码分析

第9到12篇熟悉工作线程池和使用和触发工作线程池的服务ConsumerWorkService类,上面它们是不关心任务是什么,只管干活,那么谁知道是什么任务,或者受到rabbitmq服务器的消息,谁去判断是什么?有组装什么任务呢?这个就我们这篇要解析ConsumerDispatcher, 就是派发工作的包工头。

  • 它也是一个final修饰的普通类
  • 看类描述,它分派和通知内部管理执行器服务和工作池进行工作的,且每个通道有一个ConsumerDispatcher服务,你可以想象一下每个水管都套转接头, 但是执行服务和工作池是共享,我们熟悉WorkPool源码,Map的key就是channel, value具体任务。

1、成员变量

类型 字段 默认值 含义
ConsumerWorkService workService 工作服务类
AMQConnection connection 连接对象主要为了处理消费工作异常通知
Channel channel 通道
volatile boolean shuttingDown false 多线程可见,是否关闭
volatile boolean shutdownConsumersDriven
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值