我是否需要始终在 dsl 中声明频道信息?

Do i need to do declare a channel info in dsl always?

我是否需要始终在 dsl 中声明频道。在XML版本中,我们不需要对流中的所有通道都做。

@Bean(name = "reply")
public MessageChannel replyChannel() {
    return MessageChannels.direct().get();
}

请阅读 Spring 集成 Java DSL Reference Manual。有一些关于此事的信息。

在 DSL 中,您甚至可以省略频道的提及:

.handle()
.split()
.transform()
.aggregate()

是的,您可以只用 .channel("foo") 完成一个流程,然后也用它开始另一个流程:

IntegreationFlows.from("foo")

对于那些当您的应用程序开始像 NoSuchBeanDefinitionException 一样发誓的情况,您别无选择,除非声明 MessageChannel @Bean.