Spring集成-处理文件

Spring集成-处理文件,spring,spring-integration,Spring,Spring Integration,我们使用spring集成来实现这样一个场景:读取一个文件(xml),并使用拆分器将文件拆分为几个较小的文件 流程如下:拾取文件并将其拆分为几个小文件,然后分别处理和转换这些文件。转换时,我们将验证接收到的文件的格式是否正确。如果验证成功,我们将文件移动到success文件夹,如果验证失败,则将文件移动到rejected文件夹 我们在这里面临一个问题,当输入xml文件包含两个元素时,该文件将拆分为两个子文件并进行验证处理。当第一个文件验证成功时,原始文件将移动到成功文件夹,而当第二个子文件验证失败

我们使用spring集成来实现这样一个场景:读取一个文件(xml),并使用拆分器将文件拆分为几个较小的文件

流程如下:拾取文件并将其拆分为几个小文件,然后分别处理和转换这些文件。转换时,我们将验证接收到的文件的格式是否正确。如果验证成功,我们将文件移动到success文件夹,如果验证失败,则将文件移动到rejected文件夹

我们在这里面临一个问题,当输入xml文件包含两个元素时,该文件将拆分为两个子文件并进行验证处理。当第一个文件验证成功时,原始文件将移动到成功文件夹,而当第二个子文件验证失败时,文件将无法移动到被拒绝的文件夹


是否有人建议,在单个子文件验证成功后,我们如何将文件移动到success或rejected文件夹。

根据您的要求,不清楚您希望“成功还是拒绝”:原始文件或其部分。如果您只讨论那些分割的部分,您应该考虑为它们创建唯一的文件。出于您的担心,听起来您重复使用了一个原始文件名,这确实会导致您描述的行为。

需要保留原始文件以供参考-无论是成功还是失败,都需要根据子文件的验证将原始文件移动到成功或被拒绝的文件夹。因此,是否只有在完成所有零件的验证后,才需要将原始文件移动到一个或另一个文件夹?因此,即使有一次失败,您也应该移动到被拒绝的文件夹。我的理解正确吗?因此,您可能需要在这些验证步骤之后放置一个
聚合器来收集所有结果。然后对结果集合进行搜索,以确定文件是否应转到
success
reject
目录。既然你把一切都做得很好,就无法确定中间的状态。因此,最好等到所有的评估结果出来再决定。你有没有可以参考的例子我不确定问题是什么,但你只需要在验证后使用一个基本的聚合器:。该聚合器之后的下一个端点应检查错误结果列表。没别的了。标准的
拆分器
生成适当的相关详细信息头-默认聚合器依赖于它们