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

时间:2009-11-30 06:29:33

标签: osgi

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

通过参数,我的意思是一般的对象,也许是通过地图。如果一个bundle在安装另一个bundle时有一个机制将参数发送到起始bundle那就太棒了。我想我可以在后一个捆绑包中加入一个服务并将其用作配置服务,但这看起来有点不合适。

2 个答案:

答案 0 :(得分:5)

如果要将一些配置参数“发送”到起始包,可以使用标准的OSGi服务,如Configuration Admin Service。如果你想传递任意对象,你应该使用OSGi服务注册表。

你可以澄清一下你的问题吗?你是什​​么意思“主机”捆绑和“嵌入式”捆绑?你想提供什么样的“助手”?最重要的是,您希望从一个包传递到另一个包的类型参数?

答案 1 :(得分:0)

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

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