весенняя интеграция - организация серии звонков для отдыха - PullRequest
0 голосов
/ 01 июля 2019

У меня есть сценарий использования, который должен сделать следующее:

  • Получив запрос, позвоните в сервисную службу A, B, C, D и отправьте ответ
  • Между каждым из сервисных вызовов регистрируйтесь до и после вызова
  • B & C может вызываться после A, но D должен вызываться после завершения обоих B & C.
  • Реализация общего канала ошибок для всей обработки ошибок и отправки ответа
  • Возможность пропустить шаги или начать с данного шага. Метаданные для определения шага будут в запросе.

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

Каков наилучший подход?

спасибо,

1 Ответ

0 голосов
/ 01 июля 2019
  1. Вход через WireTap.Вы получили это!
  2. "универсальный канал ошибок" - входящий шлюз имеет опцию errorChannel для перехвата всех исключений в нисходящем направлении и их обработки.
  3. "B & C может вызываться после A... ".Звучит как RecipientListRouter - поэтому вы отправляете одно и то же сообщение всем подписанным каналам.Хотя вы также можете использовать PublishSubscribeChannel.
  4. Пропустить логику, которую вы можете реализовать с помощью Filter и его канала отклонения.Хотя router может помочь вам.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...