【问题标题】:OSGi: How to find out what bundles are using a services I'm exporting?OSGi:如何找出哪些包正在使用我正在导出的服务?
【发布时间】:2017-08-31 03:07:17
【问题描述】:

我正在尝试获取捆绑包的列表,这些捆绑包正在导入我的捆绑包正在导出的服务(我找不到获取其他捆绑包清单的方法)或获取订阅了我的捆绑包服务的捆绑包列表正在发布。

到目前为止,我正在尝试列出其他捆绑包正在使用的所有 ServiceReference,以查看它们是否正在使用我的,但没有成功。

谢谢。

【问题讨论】:

    标签: java osgi knopflerfish


    【解决方案1】:

    您也可以试试这个(在 OSGi 控制台中):

    install http://downloads.skysail.io/skysail-webconsole/webconsole.all.jar
    start <id of the new bundle>
    

    在浏览器中打开 http://localhost:2002 并导航到“服务” 点击有问题的服务 检查“服务详细信息”页面的“使用捆绑包”行

    请注意,这个项目 (https://github.com/evandor/skysail-webconsole) 目前只是一个概念验证。但它可能已经对某些用例有用。

    (顺便说一句,我很高兴收到任何形式的反馈;)

    【讨论】:

      【解决方案2】:

      使用已注册服务的 ServiceReference,您可以调用 getUsingBundles 方法来查找当前正在使用该服务的捆绑包。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-11
        • 1970-01-01
        • 2020-03-12
        • 1970-01-01
        • 1970-01-01
        • 2017-09-01
        • 2011-03-15
        • 2020-09-02
        相关资源
        最近更新 更多