【问题标题】:Bundle addition event listener捆绑添加事件监听器
【发布时间】:2018-04-10 04:08:13
【问题描述】:

捆绑上下文中是否有事件侦听器?

我想在安装包并将其添加到包上下文之前捕获它,然后阻止它被添加。

【问题讨论】:

  • 为什么要阻止安装包?
  • 我想停止安装旧版本。

标签: java osgi apache-karaf osgi-bundle


【解决方案1】:

我想在安装之前捕获一个捆绑包,在它添加到捆绑包上下文之前,然后停止添加它。

这并不是在您的某个捆绑包中的代码中真正要做的事情,这是作为保护您的管理代理的一部分而要做的事情。如果您想阻止安装捆绑包,那么您应该启用安全性并且只允许 AdminPermission lifecycle 到应该允许安装其他捆绑包的捆绑包。如果包只从框架“外部”安装(例如你的框架启动器),那么里面的包都不需要这个权限。

【讨论】:

    【解决方案2】:

    您正在寻找BundleActivator 接口,如文档中所述:this

    【讨论】:

    • 我正在寻找一种解决方案,它只写在一个地方,并捕获所有正在加载的新包,在它们安装之前,我无法停止被添加到框架。据了解,使用 BundleActivator 我必须在每个包中编写解决方案。
    猜你喜欢
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多