【问题标题】:Delay on StreamListener or conditionStreamListener 或条件延迟
【发布时间】:2019-09-27 10:37:29
【问题描述】:

我正在阅读文档,但我不确定在 spring-cloud-stream 上是否可以使用 binder for kinesis。 我想通过一些延迟或配置或积极条件等待从流中消费消息。

例如,我想在消费者处理完消息后等待 30 分钟。

第一个近似值是基于标头消息和当前时间的 SPEL 使用条件,但该条件是在启动时创建的。那么新的日期总是一样的。

我知道下面代码中的条件无效。

@StreamListener(StreamProcessor.MY_STREAM, condition="#{headers['creation-date'] + 30minutes < new java.util.Date().getTime()}")
public void checkOut(Message<String> myMessage) {

   //Do something
}

你知道在没有睡眠线程的情况下这是否可能?

【问题讨论】:

    标签: spring-boot spring-cloud-stream amazon-kinesis


    【解决方案1】:

    您只需要使用Polled Consumer,这样您就可以完全控制频率、确认等。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 2014-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多