StreamListener或条件上的延迟

时间:2019-05-09 14:44:42

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

我正在阅读文档,但不确定在使用绑定器进行运动的spring-cloud-stream上是否可行。 我想等待流中消耗一些延迟或配置或肯定情况的消息。

例如,我要在消费者处理邮件后等待30分钟。

第一个替代方法是根据标头消息和当前时间在SPEL中使用条件,但条件是在启动时创建的。那么新的日期总是相同的。

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

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

   //Do something
}

您知道没有睡眠线程是否有可能?

1 个答案:

答案 0 :(得分:1)

您所需要的只是使用Polled Consumer,这样您就可以完全控制频率,齿轮等。