Как добавить условие 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