StreamListener 或条件延迟

Delay on StreamListener or condition

我正在阅读文档,但我不确定这是否可以在 spring-cloud-stream 上使用活页夹进行运动。 我想等待使用一些延迟或配置或积极条件的流中的消息。

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

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

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

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

   //Do something
}

你知道这是否可以不休眠线程吗?

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