Как обрабатывать интеграционные потоки, завершившиеся в пути - PullRequest
0 голосов
/ 28 января 2019

Как мы обрабатываем поток ниже, когда он завершается (возможно, сервер умирает, когда выполнялось одно из преобразований)?

@Bean
public IntegrationFlow sampleFlow() {
    return IntegrationFlows.from(httpAdapters.pushInbound())
            .transform(transformer1)
            .transform(transformer2)
            .handle(messageHandler1)
            .get();
}

Есть ли способ, что когда мы перезапускаем приложение springboot, поток продолжается с того места, где он остановился?Каков наилучший способ сделать это?

Учитывая это, мы пытаемся вытолкнуть данные из system1 -> system2.И эта система 1 выполняет API-вызов покоя (http-вызов) для весенней интеграции.

1 Ответ

0 голосов
/ 28 января 2019

Лучший способ сделать это - сохранить сообщения между шагами потока.

Для этой цели мы предоставляем QueueChannel и ChannelMessageStore с различными реализациями для целевых баз данных: https://docs.spring.io/spring-integration/docs/current/reference/html/system-management-chapter.html#message-store

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...