OSGi:如何找出哪些包正在使用我正在导出的服务?
OSGi: How to find out what bundles are using a services I'm exporting?
我正在尝试获取捆绑包列表,这些捆绑包正在导入我的捆绑包正在导出的服务(我找不到获取其他捆绑包清单的方法)或获取订阅服务的捆绑包列表我的捆绑包正在发布。
到目前为止,我正在尝试列出其他捆绑包正在使用的所有 ServiceReferences 以查看它们是否正在使用我的,但没有成功。
谢谢。
使用注册服务的ServiceReference,您可以调用getUsingBundles 方法找到当前正在使用该服务的bundle。
您也可以试试这个(在 OSGi 控制台中):
install http://downloads.skysail.io/skysail-webconsole/webconsole.all.jar
start <id of the new bundle>
在浏览器中打开 http://localhost:2002 并导航至 "Services"
单击有问题的服务
检查“服务详细信息”页面的 "Using Bundles" 行
请注意,该项目 (https://github.com/evandor/skysail-webconsole) 目前只是概念验证。但它可能已经对某些用例有用。
(顺便说一句,我很高兴收到任何反馈;)
我正在尝试获取捆绑包列表,这些捆绑包正在导入我的捆绑包正在导出的服务(我找不到获取其他捆绑包清单的方法)或获取订阅服务的捆绑包列表我的捆绑包正在发布。
到目前为止,我正在尝试列出其他捆绑包正在使用的所有 ServiceReferences 以查看它们是否正在使用我的,但没有成功。
谢谢。
使用注册服务的ServiceReference,您可以调用getUsingBundles 方法找到当前正在使用该服务的bundle。
您也可以试试这个(在 OSGi 控制台中):
install http://downloads.skysail.io/skysail-webconsole/webconsole.all.jar
start <id of the new bundle>
在浏览器中打开 http://localhost:2002 并导航至 "Services" 单击有问题的服务 检查“服务详细信息”页面的 "Using Bundles" 行
请注意,该项目 (https://github.com/evandor/skysail-webconsole) 目前只是概念验证。但它可能已经对某些用例有用。
(顺便说一句,我很高兴收到任何反馈;)