首页 文章

限制OSGI中安装的非iPOJO服务

提问于
浏览
0

我目前正在尝试找到一种在OSGI中“过滤”捆绑包的方法,同时安装它们 . 我使用Karaf作为OSGI实现,使用iPOJO进行服务解析 . 有什么办法可以确保,只允许在OSGI中安装iPOJO提供的服务吗?

我已经在网上搜索了一些方法来查看特定服务是否输入了OSGI的东西(比如BundleContext等),但这似乎并不容易 .

谢谢 :)

2 回答

  • 1

    可能不会,我不建议这样做 . 发布服务的方式最好考虑作为特定于实现的细节 . 如果要搜索库提供的服务,最好向服务添加自定义键值属性(不知道如何使用iPOJO)并在LDAP过滤器中使用该键 .

    编辑:提供的服务'只有外部可见的特征是classname和键值服务属性,所以如果你找不到任何关于iPOJO的合理信息,那么你没有太多的机会

  • 0

    我找到了解决问题的方法......我有点像erosb建议的那样做 . 每个IPOJO服务引用都拥有属性“name”,所以我刚刚为@Bind方法创建了一个LDAP过滤器,该方法接受name-property的所有值(filter =“(instance.name = *) . 服务,这是不是用iPOJO创建的,没有那个字段,所以这样我可以过滤任何iPOJO服务 .

    非常感谢 :)

相关问题