客户端使用messageListener模式

问下社区大佬们,我们现在在使用pulsar2.8.0的版本,消费端使用了messageListener监听器模式消费消息,如果我在客户端服务下线的过程中,如何才能做到subscription下面的consumer不再接收到消息了,有没有一些好的办法去实现,目前采用的是SubscriptionInitialPosition.Latest默认方式去设置subscriptionInitialPosition属性。

你的问题不是特别明白,是要下线一个subscription么, 关注点是哪些呢?

使用MessageListener 方式,下线 Subscriptions下面的Consumers,服务节点下线时保证Consumers不在消费消费

如果不需要消费新的消息,也没有新的消息进来,可以在下线之前将subscription的偏移量移到最新,再下线客户端,如果要确保全部下线,可以删除这个subscription。

目前是多节点部署且一直有流量进入,单个节点下线时没有办法删除subscription,

还是没有明白卡点在哪,服务节点下线,Consumers不再消费消费这个是一个很自然的事情,服务节点和Consumers是什么关系呢?

背景:客户端消费服务下线时需要实现优雅下线功能(目前思路:消费服务下线时,标记该节点的消费线程不在消费线上消息,从而达到优雅下线的目的);

现状:消费服务下线时,消费者还在持续的消费线上消息,导致下线过程中会有一些异常报错,因为是多节点部署消费服务,不允许删除subscription;

寻求解决办法:如何才能做到subscription下面的consumer不再接收到消息了;