使用 OSGI 如何将参数从主机传递到嵌入式包

发布于 2024-08-13 03:05:42 字数 156 浏览 1 评论 0原文

最后我可能会提供一个帮助器,以便激活器可以导入和导出服务以及有关系统的其他类型的元数据。

我所说的参数是指一般的对象,也许是通过地图。如果一个包在安装另一个包时有一种将参数发送到起始包的机制,那就太好了。我想我可以在后面的捆绑包中包含一项服务并将其用作配置服务,但这似乎有点不优雅。

In the end i will perhaps provide a helper so that the activator can import and export services and other types of meta data about the system.

By parameters i mean objects in general, perhaps via a map. it would be great if one bundle when installing another had a mechanism to send parameters to the starting bundle. I suppose i could include a service on the later bundle and use it as a configuration service but that seems a bit unelegant.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

水中月 2024-08-20 03:05:42

如果您想将一些配置参数“发送”到启动包,您可以使用标准 OSGi 服务,例如 配置管理服务。如果您想传递任意对象,您可能应该使用 OSGi 服务注册表。

您能澄清一下您的问题吗? “主机”捆绑包和“嵌入式”捆绑包是什么意思?您想提供什么样的“帮手”?最重要的是,您希望将哪种参数从一个包传递到另一个包?

If you want to "send" some configuration parameters to a starting bundle you can use standard OSGi services like Configuration Admin Service. If you want to pass around arbitrary objects you should probably use OSGi service registry.

Could you please clarify your question? What you mean by "host" bundle and "embedded" bundle? What kind of "helper" do you want to provide? Most importantly what kind parameters you want to pass from one bundle to another?

遗弃M 2024-08-20 03:05:42

要对捆绑包进行(预)运行时配置,您应该使用配置管理服务。对于 pojo 等,您可以遵循以下模式:

  • Bundle A 安装并启动 Bundle B
  • Bundle B 注册“配置”服务,例如使用接口 acme.ConfigureB
  • 捆绑包 A 通过接口 acme.ConfigureB 跟踪服务。
  • 每当 A 收到 acme.ConfigureB 的跟踪器回调时,它就会执行所有必要的配置。

To do (pre-) runtime configuration of a bundle, you should use the Configuration Admin Service. For pojos etc you can follow this pattern:

  • Bundle A installs and starts Bundle B
  • Bundle B registers a "configuration" service, e.g. with the interface acme.ConfigureB.
  • Bundle A tracks services with the interface acme.ConfigureB.
  • Whenever A receives the tracker callback for acme.ConfigureB it does all the necessary configurations.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文