我正在与OSGi开始一个项目,我在定义处理服务注册等方式时面临一个非常重要的选择......
如果我没弄错的话,我有三个选择:
org.springframework.*
后立即使用我的经典OSGi平台吗?您对我的讯问有任何意见或信息吗?您是首选(以及为什么?)或者您是否使用了我的列表中未包含的其他解决方案?
非常感谢。
答案 0 :(得分:2)
声明服务(DS)不被弃用,它们实际上是在OSGi中处理服务绑定/解除绑定的最简洁方法。您可以手动执行此操作,这可能会更好,具体取决于您的用例,但通常DS很好。 SpringDM在下面使用了Equinox,但是它们已经为你包装它以使某些东西更具弹性。我从未尝试过SpringDM,因此无法评论太多。
如果您计划将来使用/集成Spring,请从SpringDM开始。否则,从DS开始。如果您需要执行DS无法处理的操作,您可以使用服务跟踪器手动执行此操作。可以将DS和手动服务处理混合在一起。
我认为你有一个名为“蓝图”的第四个选项,在过去的两年中,它被提议作为DS的替代品。我不知道他们到了哪里,但我认为SpringDM可能会在内部使用它。
答案 1 :(得分:1)
除了@omerkudat建议外,您还可以查看比DS更先进的iPOJO,但它不是官方规范的一部分。