注册自定义org.osgi.resource.Resource

时间:2015-01-26 16:31:01

标签: java osgi

如何注册我自己的OSGi资源( org.osgi.resource .Resource ,而不是捆绑中的文件),这可以定义功能和要求。

我知道,我可以在捆绑包的清单中定义一些。但我想在运行时定义一些。

我的用例:我想为不同的环境(硬件,操作系统,配置)编写一堆软件包。如果满足其要求,则应启动每个捆绑包。现在,我想构建一个Environment-detection-bundle,它对环境运行几个或多或少复杂的检查,然后提供相应的功能。 我的目标是,仅启动与其环境匹配的捆绑包。

我花了很多时间,但是我找不到注册资源以外的资源的方法。

1 个答案:

答案 0 :(得分:0)

我认为你想要做的是使用功能和要求。您可以创建自己的capability namespace,然后通过Require-Capability清单标题让您的捆绑包需要它。您可以根据运行时环境,通过org.osgi.framework.system.capabilities.extra框架启动属性配置框架实例以提供适当的功能。