В Spring Integration Мне нужно отправить сообщение последовательно в подпоток A (он хранит сообщение в БД), а затем в подпоток B (он использует некоторый поиск БД). Выполнение всего А и В должно выполняться на границе одной транзакции.Соответствующий выбор EIP для последовательных вызовов подтонов
Первоначально использовался Publish-Subscribe Channel с двумя подписчиками для A и B в одном потоке. Тем не менее, есть 2 недостатки
- там нет гарантированного порядка выполнения абонентов
- легко добавить
task-executor
атрибут канала. Таким образом, A и B будут выполняться параллельно в разных потоках и, таким образом, в разных транзакциях.
Итак, что можно использовать здесь EIP?
Я думаю о Recipient List Router, но, опять же, can't see guaranty отправки сообщения для получателей.
Ну ... это поможет, но 'PublishSubscribeChannel' соответствующий EIP в моем случае вообще? Можно ли использовать «цепочку», например? –
Если вам необходимо поддерживать TX и порядок услуг, чем никакой выбор: однопоточный канал публикации-подписки –