当以下流程终止时,我们如何处理以下流程(可能是在转换之一正在进行时服务器死亡)?
@Bean
public IntegrationFlow sampleFlow() {
return IntegrationFlows.from(httpAdapters.pushInbound())
.transform(transformer1)
.transform(transformer2)
.handle(messageHandler1)
.get();
}
有什么办法,当我们重启springboot应用程序时,流程从中断的地方继续吗?最好的方法是什么?
鉴于此,我们正在尝试从system1-> system2推送数据。然后,系统1对spring集成执行rest api调用(http调用)。
答案 0 :(得分:1)
最好的方法是在流程步骤之间保留消息。
为此,我们为QueueChannel
和ChannelMessageStore
提供了目标数据库的各种实现:https://docs.spring.io/spring-integration/docs/current/reference/html/system-management-chapter.html#message-store
当然,最好的方法是使用 transactional 存储库,以在失败时自动回滚。因此,下一次您的流程将从商店中提取消息进行处理。