Есть ли способ опросить сообщения из темы с использованием подхода Spring Cloud Function?

Мы используем SubscribableChannel, MessageChannel и PollableMessageSource и настроены с использованием @EnableBinding и @StreamListner. Теперь нужно перейти к функциональному подходу. SubscribableChannel и MessageChannel можно преобразовать с использованием bean-компонентов Consumer и Supplier, но мы не можем выполнить миграцию PollableMessageSource. Поскольку функции отключены, если мы используем @EnableBinding, мы застряли на миграции. Мы пытались изучить @PollableBean, но, похоже, он работает только для Reactive Supplier с конечными потоками. Есть ли способ это сделать? Ссылка: https://cloud.spring.io/spring-cloud-stream/reference/html/spring-cloud-stream.html.


person VaibS    schedule 21.08.2020    source источник


Ответы (1)


Вы можете обернуть функцию и PollableMessageSource в bean-компонент и привязать к нему, используя @EnableBinding вместо привязки к функции. См. https://github.com/spring-cloud/stream-applications/blob/master/applications/sink/tasklauncher-sink/src/main/java/org/springframework/cloud/stream/app/.tasklauncher/ink/TaskLauncherSinkConfiguration.java в качестве примера.

person dturanski    schedule 21.08.2020
comment
Нам нужно удалить @EnableBinding и использовать только функции. Обнаружил, что пока не поддерживается. github.com/spring-cloud/spring-cloud-stream/issues/ 1956 - person VaibS; 26.08.2020