2014-04-22 45 views
0

我正在創建一個獨立的駱駝應用程序。我只想使用java(因爲編譯器告訴最新錯誤)。 爲了讓我的代碼更少耦合並且可以通過測試重用,我想將上下文和註冊表的創建分離爲不同的類。 我剛開始延伸DefaultCamelContext - 這是一個好主意,還是應該擴展/實現其他一些類? 在這個類中,我想使用我自己的註冊表(它綁定了一些bean實例)類。我找到了方法setRegistry(org.apache.camel.spi.Registry)。如何在java中設置駱駝上下文和註冊表

但是如何實現這樣的註冊表?還有一個「defaultRegistry」嗎? (用於測試有一個createRegistry(),是否有東西在測試之外?)

最後,我想使用依賴注入(guice)將所有東西粘合在一起:註冊表將注入bean實例,然後將註冊表注入上下文,並將上下文注入到我的主類中,而不是創建「main」,設置上下文和「run()」它。

回答

1

駱駝支持pluggable registry strategy ...所以你應該能夠實現org.apache.camel.spi.Registry接口並調用setRegistry(myImpl)...

有幾個(簡單,JNDI,等)所支持可能滿足您的需要或作爲一個例子登記...

例如,這裏是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