我将项目从XML Spring Integration配置迁移到Java DSL。我事先准备了一些集成测试。所以我可以一步一步安全地进行迁移。
移动此XML连接器定义后的某个时刻
<int:publish-subscribe-channel id="upstreamAckChannel" />
到Java Spring配置
@Bean
public PublishSubscribeChannel upstreamAckChannel() {
return MessageChannels.publishSubscribe().get();
}
我的集成流停止了将测试消息重新发送到我的测试中。
经过一段时间和实验后,我意识到我的Spring Java配置必须具有@EnableIntegration
注释以及通常的Spring @Configuration
注释才能正常工作。
问题是什么是@EnableIntegration
注释语义?当我不能使用它时,必须使用?
我只能在官方参考手册中找到这个小Configuration段。不幸的是,描述不清楚。
答案 0 :(得分:4)
PublishSubscribeChannel类存在于Spring Integration project内。 @EnableIntegration注释用于采用Spring Integration的默认配置,因此通常在使用Spring Integration时,您希望添加它(除非您使用的是一个没有Spring的集成。 ; t需要一个上下文 - 不太可能)。您可能想要放弃它的唯一时间是您想要从头开始进行自己的配置。