Spring integration 如何处理子流

Spring integration 如何处理子流,spring-integration,Spring Integration,我们可以在Spring集成中使用“子流”吗 我有许多不同的流程,它们将使用相同的“子流”。这些过程总是有相同的部分,最好放在一个单独的文件中 实施这些流程的正确方式是什么 我试图找到在Spring Integration中使用子流的解决方案,但什么也找不到。一种简单的方法是将子流放在一个单独的文件中,其中包含“已知”的输入和输出通道(子流从一个通道开始,以另一个通道结束)。然后,只需子流并向/从输入/输出通道发送/消费 或者,您可以使用定义子流并将其添加到需要子流的应用程序上下文中,而不是导入

我们可以在Spring集成中使用“子流”吗

我有许多不同的流程,它们将使用相同的“子流”。这些过程总是有相同的部分,最好放在一个单独的文件中

实施这些流程的正确方式是什么


我试图找到在Spring Integration中使用子流的解决方案,但什么也找不到。

一种简单的方法是将子流放在一个单独的文件中,其中包含“已知”的输入和输出通道(子流从一个通道开始,以另一个通道结束)。然后,只需
子流并向/从输入/输出通道发送/消费

或者,您可以使用定义子流并将其添加到需要子流的应用程序上下文中,而不是导入

@Configuration
public class MySubflowDefinition {

    @Bean
    public IntegrationFlow subflow() {
        return IntegrationFlows.from("someInChannel")
           .transform(...)
           ...
           .channel("someOutChannel")
           .get();
    }
}
有关更正式的“子流”定义,请参见。此解决方案还允许从同一应用程序上下文中的多个位置调用相同的子流


spring integration java dsl
spring integration flow
都可以在spring repo和maven central(当前)1.0.0.RELEASE版本中使用。

如果要在同一应用程序上下文中的多个位置使用同一子流,您需要使用
spring集成流
解决方案。谢谢您的提示。当您希望在多个位置使用子流时,这些解决方案是否也有效?假设我们有子流1,它最初的目的是将FTP文件从源目录传输到目标目录。现在我们有3个不同的(主)流,我想在其中使用具有不同参数的子流1,如FTP服务器地址/目标目录。我能接受你的建议吗?它将如何工作?假设FTP目录“D”中有一个文件“F”。使用此子流的所有主流将接收相同的包?