2012-02-07 88 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