为 Google PubSub 暂停 Spring Cloud StreamListener

Pausing Spring Cloud StreamListener for Google PubSub

我们使用 Spring Cloud Stream(版本 3.0.7)StreamListener 从主题 'A' 消费 Google 云 PubSub 订阅 'A.SUB'。 我们有暂停从 PubSub 消费的要求,我按偏好顺序看到以下选项,我对如何实现选项 1 和 2 没有确切的想法。有人可以分享对这些的想法吗?

  1. 添加另一个 Pubsub 主题 'B' 并发布 'Pause' 事件消息暂停或 'Resume' 事件消息恢复,以某种方式 stop/start 订阅轮询'A.SUB' 看到 'pause/resume' 有什么办法可以实现吗?

  2. 根据时间暂停订阅 window 比如说在 12AM 到 6AM 之间?有没有办法指定一些 CRON 表达式?

  3. 使用来自 'A.SUB' 的消息并在凌晨 12 点到早上 6 点之间发送 nack

@StreamListener("A.SUB") public void consume(Message 消息) { }

注意:StreamListener 和整个基于注释的配置模型已被弃用。我们已经完全迁移到 functional programming model,这要简单得多。

关于暂停,您可以使用 s-c-stream 公开的执行器和绑定端点(例如,停止、开始、暂停、恢复)来完成。您可以获得更多信息 here.