我有个要求
来自FTP的later)
H 111服务3以丰富CDYH 212H 113服务4以保存数据库中的数据并获得所生成的is集(如需要的话)基于服务4H 216H 117/code>服务6将消息发送到另一个系统H 218<>h 119/code>服务7将更新数据,然后将again
service 8更新为again
service 8。做一些事情
将文件移回do目录在这一点上,我正在考虑让一个流程来处理FTP端并获取文件并下载它。
flow # 02将选择该文件并执行上面解释的处理
我的问题是,我是否应该使用变压器以上所有这些步骤。另外,如果我和所有的变压器都有一个流量,或者我应该把它分解成子流,那还可以吗?
如果任何变压器抛出异常,它会忽略其余的变压器并进入错误通道吗?
另外,如果我设置了一个异常处理通道,我会知道异常是在哪个步骤抛出的吗?
发布于 2020-01-02 14:30:28
如果您不熟悉许多其他Spring组件,比如Enricher:https://docs.spring.io/spring-integration/reference/html/message-transformation.html#content-enricher和JPA通道适配器:https://docs.spring.io/spring-integration/reference/html/jpa.html#jpa,那么您真的可以使用转换器做任何事情。
您确实可以在单个流中完成所有操作,即使您将有几个应用程序实例。可以配置流的方式是,每个步骤都可以分发到整个集群中,以便进行均匀的计算。另一方面,我真的把我的流分成了几个逻辑单元。
如果有一步抛出异常,您确实不会再带着该消息继续下去了。这与普通Java程序的工作方式完全相同。
是的,从某些版本开始,我们将整个组件添加到异常消息中:
throw IntegrationUtils.wrapInHandlingExceptionIfNecessary(messageToUse,
() -> "error occurred in message handler [" + this + "]", e);注意this。它将使用bean名和配置源调用toString(),以确定在流程中发生错误的异常位置。
https://stackoverflow.com/questions/59552617
复制相似问题