如何在@StreamListener 中为日期添加 SpEL 条件

How to add SpEL condition for dates in @StreamListener

我能够通过 Kafka 或 RabbitMQ 发送消息并使用 @StreamListener 使用它们。

我现在想跳过 header 不符合日期条件的消息。

例如,我希望是这样的:

@StreamListener(value = INPUT, condition = "headers['startDate'] < now()")
public void onMessage(@Payload Data data) { 
    // I process only messages where header "startDate" is before now
}

可能吗?

具体取决于 header 包含的内容。

假设它包含一个以毫秒为单位的时间,使用:

headers['startDate'] < new java.util.Date().time