2014-07-07 3 views
0

여러 Spring Integration 컨텍스트를 가져 오는 동안 정확히 무슨 일이 일어나는지 질문하고 싶습니다.Spring 통합 다중 컨텍스트

채널 노드가 후속 컨텍스트에서 일치하는 경우 서로를 재정의합니까? 아니면이 문제를 방지 할 수있는 메커니즘이 있습니까?

답변

2

스프링 통합 애플리케이션은 단지 스프링 애플리케이션이므로 모든 구성 규칙을 따른다.

여러 컨텍스트를 가져 오면 모두 단일 응용 프로그램 컨텍스트로 스킬됩니다.

그리고 어떤 빈 유형을 재정의해도 상관 없습니다 (채널도 빈입니다). 여러 콩이 같은 이름을 가진다면, 마지막 콩이 기본적으로 이길 것입니다.

이 그 행동을 변경할 그렇게 쉬운 일이 아닙니다 - DefaultListableBeanFactory#setAllowBeanDefinitionOverriding(false)

다른 측면에서 당신이 org.springframework.beans.factory.support.DefaultListableBeanFactory 범주에 대한 INFO 로깅 수준에서 전환 할 수 있습니다 그리고 당신은 시작 응용 프로그램에 대한 오버라이드 (override) 콩을 볼 수 있습니다.

고유 한 bean 이름을 사용하는 것이 좋습니다. 실제로 여러 IDE가 동일한 이름을 가질 때 IDE에서 불평합니다.