RocketMQ原理解析-consumer 7.shutdown

来源:互联网 发布:游戏源码怎么用 编辑:程序博客网 时间:2024/05/14 05:10

DefaultMQPushConsumerImpl  关闭消费端

         关闭消费线程

         将分配到的Set<MessageQueue>的消费进度保存到broker

利用DefaultMQPushConsumerImpl获取ProcessQueueTable<MessageQueue,ProcessQueue>的keyset的messagequeue去获取

RemoteBrokerOffsetStore.offsetTable<MessageQueue,AutomicLong>Map中的消费进度,

offsetTable中的messagequeue的值,在update的时候如果没有对应的Messagequeue会构建, 但是也会rebalance的时候将没有分配到的messagequeue删除

rebalance会将offsettable中没有分配到messagequeue删除, 但是在从offsettable删除之前会将offset保存到broker

         Unregiser客户端

         pullMessageService关闭

         scheduledExecutorService关闭,关闭一些客户端的起的定时任务

         mqClientApi关闭

         rebalanceService关闭
0 0