Spring Integration多个上下文

时间:2014-07-07 11:22:37

标签: spring spring-integration

我想问一下导入多个Spring Integration上下文时究竟发生了什么?

如果通道节点在后续上下文中匹配,它们是否会相互覆盖?或者是否有一些机制来阻止这种行为?

1 个答案:

答案 0 :(得分:2)

Spring Integration应用程序只是一个Spring应用程序,因此遵循所有配置规则。

当您导入多个上下文时,它们都会被压缩到单个应用程序上下文中。

你覆盖哪些bean类型并不重要(通道也是bean)。如果几个bean具有相同的名称,默认情况下最后一个将获胜。

改变这种行为并不容易 - DefaultListableBeanFactory#setAllowBeanDefinitionOverriding(false)

从另一方面,您可以启用INFO类别的org.springframework.beans.factory.support.DefaultListableBeanFactory日志记录级别,并且您将在应用程序启动时看到覆盖的bean。

当几个bean具有相同的名称时,建议使用唯一的bean名称,实际上,IDE会抱怨。