gpt4 book ai didi

java - OSGi : Is there a 'best way' to handle service and registers?

转载 作者:行者123 更新时间:2023-11-29 06:11:31 26 4
gpt4 key购买 nike

我正在使用 OSGi 开始一个项目,在定义处理服务注册等的方式时,我面临着一个非常重要的选择...

如果我没记错的话,我有三个选择:

  • 通过实现服务监听器和处理我自己的寄存器来使用手动解决方案(实际上可能不是最糟糕的选择)
  • 使用声明式服务 范例:看起来不错,但我觉得它现在有点过时了。我说得对吗?
  • 使用 Spring DM 范例:它似乎是最新的范例,但我不确定它是否已经标准化。我是否需要一个特殊的 OSGi 实现来运行它(例如 Virgo/SpringDM Server ?)或者我可以在它包含插件后立即使用我的经典 OSGi 平台 org.springframework.*

你对我的审讯有什么意见或信息吗?您是否有首选(为什么?)或者您是否使用我的列表中未包含的其他解决方案?

非常感谢。

最佳答案

声明式服务 (DS) 并未被弃用,它们实际上是 OSGi 中处理服务绑定(bind)/解除绑定(bind)的最干净的方式。您可以手动完成,这可能会更好,具体取决于您的用例,但通常 DS 很好。 SpringDM 在底层使用 Equinox,但他们已经为您包装了它以使某些东西更具弹性。我从未尝试过 SpringDM,所以不能发表太多评论。

如果您计划在将来使用/集成 Spring,请从 SpringDM 开始。否则,从 DS 开始。如果您需要做一些 DS 无法处理的事情,您可以使用服务跟踪器手动完成。混合 DS 和人工服务处理是可以接受的。

我认为您有第四个选项,称为“Blueprint”,它在过去 2 年的某个时候被提议作为 DS 的替代方案。我不知道他们去了哪里,但我认为 SpringDM 可能在内部使用它。

关于java - OSGi : Is there a 'best way' to handle service and registers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6663397/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com