Задержка на StreamListener или условие - PullRequest
0 голосов
/ 09 мая 2019

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

Например, я хочу подождать 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 Ответ

1 голос
/ 09 мая 2019

Все, что вам нужно, это использовать Опрашиваемый потребитель , таким образом, вы имеете полный контроль над частотой, подтверждениями и т. Д.

...