Как добавить условие SpEL для дат в @StreamListener

Я могу отправлять сообщения через Kafka или RabbitMQ и использовать их с помощью @StreamListener.

Я хотел бы сейчас пропустить сообщения, для которых один заголовок не соответствует условиям даты.

Например, я бы ожидал что-то вроде этого:

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

Является ли это возможным?

1 ответ

Это зависит от того, что именно содержит заголовок.

Предполагая, что оно содержит время в миллисекундах, используйте:

headers['startDate'] < new java.util.Date().time
Другие вопросы по тегам