2012-02-07 57 views
8

Gemini是OSGi藍圖容器的參考實現,而Apache Aries是另一個廣泛使用的藍圖容器......包括在Apache Karaf中。雙子座和Apache Aries藍圖容器

如果我正在開始一個新項目(需要開源技術)並計劃使用藍圖,那麼在這兩者之間進行選擇時應該考慮什麼?

是基於將使用哪種OSGi容器的選擇,其中:

  • 處女座則雙子座是您的最佳/只?藍圖容器的選擇
  • 爲Apache Karaf,然後阿帕奇白羊座藍圖容器如果優先選擇

難道它甚至關係呢?即我是否可以針對藍圖規範進行編碼,並讓部署決定在生產中使用DI容器?

對不起,如果這個問題不是很具體,但這個話題本身對我來說是相當困惑。

回答

5

如果您只使用藍圖,那麼您根據規範進行編碼和決定部署時間的想法是一個不錯的選擇。這兩個實現的行爲應該是相同的。如果你不幸運的話,你會發現兩個不同的錯誤,但希望沒有,因爲這兩個實現都是成熟的。影響你最終決定的一個因素是你可能會發現兩者之間的表現是不同的。 (但是對於性能,測量,不要猜測!)

如果你要做的事情超出了核心藍圖,比如容器管理的JPA和JTA,你會發現白羊和雙子之間有更明顯的區別。例如,我知道白羊座在這方面有很多藍圖擴展工具(我是白羊座的提交者)。

原則上白羊座應該在卡拉夫的處女座和雙子座跑,但我不確定自己喜歡嘗試它,因爲這兩個堆棧中的東西都建立在Blueprint之上。

-

http://www.manning.com/cummins - 企業級OSGi在行動

+0

不會像差異[這一個](https://bugs.eclipse.org/bugs/show_bug.cgi?id=351755)使在實踐中不可能推動這個決定直到部署時間? – eis 2012-12-05 08:46:16

+0

如果您嚴格按照規範進行編碼,則可以將決策推向部署時間。如果你想利用對編程模型的擴展,你需要做出早期的決定。 – 2012-12-06 07:14:26