Интеграция Spring и Spring Cloud Stream

Я пишу приложение, которое

  • Опрос каталога (поток DSL интеграции Sprint)
  • Как только файл станет доступен, он будет помещен в очередь rabbitmq.
  • Микросервис прослушивает поток RabbitMQ и обрабатывает файл (это написано в потоке Spring Cloud)

Теперь я не могу понять, как лучше всего отправить сообщение на RabbitMQ из службы потока интеграции Spring. Как я могу использовать поток Spring-Cloud в Spring-Integration для публикации сообщения в RabbitMQ

Я не уверен, что полностью понимаю. Потоковая служба привязана к внешним адресатам через привязки. В настоящее время мы предоставляем связыватели Rabbit и Kafka, поэтому, если вы используете связыватель Rabbit, выходные данные вашего слушателя будут автоматически опубликованы на бирже Rabbit. Вам не нужно ничего делать.

Oleg Zhurakousky 03.10.2018 17:23

Спасибо @OlegZhurakousky. Собственно Артем подробно ответил, попробую.

Makky 03.10.2018 17:28

Большой! Возможно, частично связано, но должно дать вам немного больше информации о жизненном цикле потока с точки зрения весеннего облачного потока - docs.spring.io/spring-cloud-stream/docs/Fishtown.M3/referenc‌ e /…

Oleg Zhurakousky 03.10.2018 17:35
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
3
743
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вам просто нужно реализовать там привязку Source и использовать RabbitMQ Binder для создания из вашего источника. Таким образом, результат опроса файлов из каталога будет опубликован на Source.OUTPUT (или в вашей пользовательской привязке), а все остальное будет сделано связывателем RabbitMQ: https://docs.spring.io/spring-cloud-stream/docs/Fishtown.M3/reference/htmlsingle/#spring-cloud-stream-overview-proroduction-consuming-messages

Конечно, вы можете сделать что-то подобное с простой интеграцией Spring, используя AmqpOutboundEndpoint для публикации сообщения на соответствующий обмен на RabbitMQ: https://docs.spring.io/spring-integration/docs/5.0.8.RELEASE/reference/html/amqp.html#amqp-outbound-channel-adapter

У вас есть образец для этого в github? Я очень новичок в Spring Integration и Spring Cloud Stream.

Makky 03.10.2018 17:24

Взгляните сюда: github.com/spring-cloud/spring-cloud-stream-samples/tree/master /…. Образец JDBC должен соответствовать вашим ожиданиям. Единственное, что вам нужно, это изменить его для опроса файлов.

Artem Bilan 03.10.2018 17:28

Вы классный сэр. Это мне поможет. Вы - гений. Большое спасибо.

Makky 03.10.2018 17:30

если у вас есть время, пожалуйста, ответьте stackoverflow.com/questions/52644505/…

Makky 04.10.2018 12:54

Другие вопросы по теме