2014-11-17 3 views
0

모든 경로, 프로세스 및 구성 요소에 대해 글로벌 Object이 필요합니다. 이 글로벌 Object에서는 구성 매개 변수를 저장합니다. 그러나 나는 어떻게 그리고 어디에서 세계 Object을 설정할 수 있는지, 그리고 내 자신의 프로세스와 내 자신의 구성 요소에서 그것을 읽을 수있는 방법을 모른다.어떻게 낙타 globalObject를 만들 수 있습니까?

나는 봄에 낙타 컨텍스트를 만들고 내 경로를 빌드하려면 RouteBuilder을 가지고 있습니다. 또한

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> 

<camelContext xmlns="http://activemq.apache.org/camel/schema/spring"> 
    <route> 
    <from uri="activemq:${someQueueName}"/> 
    <to uri="mock:results"/> 
    </route> 
</camelContext> 

, 당신이 봄에 콩을 조회 할 수 있다는 ApplicationContextRegistry을 사용할 수 있습니다 :

당신이 설정에 경로를 원하는 경우
+0

Erm을 사용하면 Spring을 사용하여 Properties 객체를 주입 할 수 있습니다. 아니면 ProperyPlaceholderConfigurer를 즉시 사용할 수 있습니까? 다른 무엇을 좋아하니? –

+0

다른 점은 무엇입니까? 무엇을 사용하는 것이 더 낫습니까? 전체적으로 액세스 할 수있는 객체가 필요합니다. 나는 아파치 카멜을 처음 사용하므로 잘 모르겠다. 무엇이 더 낫다. – Burner

+0

이것은 Camel과는 아무런 관련이 없다. Properties 개체는 좀 더 융통성있는 반면, Spring 구성자는 설정하기 쉽습니다. 말 그대로 수천 개의 자습서와 블로그 게시물이 있습니다. 구글 그것. 그런 다음 필요한 값을 간단히 주입 할 수 있습니다. –

답변

1

, 다음 PropertyPlaceholderConfigurer를 사용할 수 있습니다, here 참조 주셔서 감사합니다 ApplicationContext. 이 구현은 Spring 환경에서 Camel을 사용할 때 자동으로 사용됩니다 (here 참조). 예를 들어 다음과 같이 레지스트리에 액세스하십시오.

String myValue = exchange.getContext().getRegistry().lookupByNameAndType("myKey", String.class); 
관련 문제