如何处理在运输中终止的集成流

时间:2019-01-28 02:20:56

标签: spring-integration spring-integration-dsl

当以下流程终止时,我们如何处理以下流程(可能是在转换之一正在进行时服务器死亡)?

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

有什么办法,当我们重启springboot应用程序时,流程从中断的地方继续吗?最好的方法是什么?

鉴于此,我们正在尝试从system1-> system2推送数据。然后,系统1对spring集成执行rest api调用(http调用)。

1 个答案:

答案 0 :(得分:1)

最好的方法是在流程步骤之间保留消息。

为此,我们为QueueChannelChannelMessageStore提供了目标数据库的各种实现:https://docs.spring.io/spring-integration/docs/current/reference/html/system-management-chapter.html#message-store

当然,最好的方法是使用 transactional 存储库,以在失败时自动回滚。因此,下一次您的流程将从商店中提取消息进行处理。