2012-10-01 4 views
1

내가 봄 구성 다음 만들려고 해요 네임 스페이스봄 프로파일과 봄 통합

<beans profile="profile1"> 
    <jms:outbound-channel-adapter id="sampleId"/> 
</beans> 

<beans profile="profile2"> 
    <jms:outbound-channel-adapter id="sampleId"/> 
</beans> 

:

내가 중복받을 그런 상황을 만들 JMS (아웃 바운드 채널 어댑터는 스프링 통합에서 네임 스페이스입니다) bean id 예외 ...

어떤 이유입니까?

편집은 .. 참고 현재 컨텍스트에 대한 활성 프로파일을 제공 할

+1

예외 스택 추적을 게시 할 수 있습니까? –

답변

0

(활성 프로파일 profile1 설정된다). 이 토큰은 다음과 같이 설정할 수 있습니다
환경 변수
JVM을 속성

프로그래밍 웹 매개 변수 봄도 될 수있는 토큰, spring.profiles.default, 찾습니다
spring.profiles.active로 지정되지 않은 경우 기본 프로필을 설정하는 데 사용됩니다.

예 :

<beans profile="web-dev, test-dev"> 
     <import resource="trace-context.xml"/> 
     <import resource="spring-data-jpa.xml"/> 
     <import resource="spring-security-roles.xml" /> 
    </beans> 

    <beans profile="web-dev"> 
     <bean id="deployProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean" 
       p:location="/WEB-INF/spring.properties" /> 

     <import resource="spring-cache.xml"/> 
     <import resource="tiles-context.xml" /> 
     <import resource="themes-context.xml" /> 
    </beans> 

    <beans profile="test-dev"> 
     <bean id="deployProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean" 
       p:location="classpath:spring.properties" /> 
    </beans> 
+0

활성 프로필을 설정했지만 스키마 유효성 검사시 오류가 발생합니다. – Machu

+1

Hmmm 내 경우 ActiveMQ 스키마와 비슷하지만 비슷한 것을 보았습니다. org.springframework.web.context.ContextLoader : 컨텍스트 초기화가 실패했습니다. org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException : 클래스 경로 리소스 [au/gov/dha/messagecentre/messagecentre-jms.xml]의 XML 문서에서 179 번째 줄. 유효하지 않다; 상자의 예외는 org.xml.sax.SAXParseException입니다. lineNumber : 179; columnNumber : 129; cvc-id.2 : 'messageCentreBroker'라는 ID 값이 여러 번 발생했습니다. 이것은 beans 내부의 amq : schema를 사용합니다 :

0

모든 관련 XSD 선언> = 3.1 버전을 사용하고 있는지 확인하십시오 : ApplicationContext의 모습

<servlet> 
    <servlet-name>spring</servlet-name> 
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 
    <init-param> 
    <param-name>spring.profiles.active</param-name> 
    <param-value>web-dev</param-value> 
    </init-param> 
</servlet> 

. 프로파일 기능은 Spring 버전 3.1에 추가되었습니다. bean 및 jms 네임 스페이스에 대해 최소한 설정합니다. 또한 비슷한 질문에 내 대답을 참조 here.