2014-04-22 2 views
0

독립 실행 형 낙타 응용 프로그램을 만들고 있습니다. 컴파일러가 잘못된 것을 알려주기 때문에 java 만 사용하고 싶습니다. 테스트로 코드를 덜 결합하고 재사용 할 수 있도록 문맥과 레지스트리의 작성을 분리 된 클래스로 분리하려고합니다. 방금 ​​DefaultCamelContext을 확장하기 시작했습니다. 좋은 생각입니까? 아니면 다른 클래스를 확장/구현해야합니까? 이 클래스 내에서 나는 자신의 레지스트리 (일부 Bean 인스턴스를 바인드 함) 클래스를 사용하려고합니다. 메소드 setRegistry (org.apache.camel.spi.Registry)를 찾았습니다.자바 내에서 낙타 컨텍스트와 레지스트리를 설정하는 방법

그런 레지스트리를 구현하는 방법은 무엇입니까? "defaultRegistry"도 있습니까? (테스트 거기에 대한 createRegistry(), 거기에 뭔가가 외부 테스트?)

결국 나는 모든 물건을 함께 아는 데 의존성 주입 (guice)를 사용하려면 : 레지스트리는 콩 인스턴스를 삽입합니다 레지스트리는 컨텍스트에서 주입되고 컨텍스트는 "main"을 생성하고 컨텍스트를 설정하고 "run()"을 실행하는 것보다 내 메인 클래스에 주입됩니다. ,

는 JNDI, 간단한 (몇 가지가 있습니다 ...

답변

1

낙타는 pluggable registry strategy 지원 ... 그래서 당신은 org.apache.camel.spi.Registry 인터페이스를 구현하고 setRegistry (myImpl)를 호출 할 수 있어야한다 등) 요구 사항을 충족하거나 예를 들어 역할을 할 수가 지원되는 레지스트리 ... 예를 들어

, 여기에 SimpleRegistry 구현 클래스는 ...

https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob_plain;f=camel-core/src/main/java/org/apache/camel/impl/SimpleRegistry.java;h=d2a4a21c9f9fbc70f45fd485d1c46c8a20b9afea;hb=HEAD

+0

감사 - 나는 JNDI 레지스트리를 사용 . 이것은 낙타와 함께 온다. – dermoritz

관련 문제