【问题标题】:When an Activator class/"Bundle-Activator" is needed in plug-in and when it's not?插件中何时需要激活器类/“Bundle-Activator”,何时不需要?
【发布时间】:2011-07-20 15:13:55
【问题描述】:

我已经为我的内容类型实现了“新建向导”插件。 经测试 - 有效。

然后我发现没有声明Bundle-Activator,也没有定义Activator类。

问题是——当插件中真正需要 Activator 类时。 什么时候根本不需要呢?

【问题讨论】:

    标签: eclipse eclipse-plugin osgi equinox


    【解决方案1】:

    仅当您需要在捆绑包的开始和/或停止时执行某些操作时,您才需要捆绑激活器。如果你的包只是一个导出一些包的库,你不需要激活。

    如果您不需要一个来让您的捆绑包按预期运行,那么它可能不需要一个 :)

    【讨论】:

    • 根据经验,请避免使用捆绑激活器。即使您确实需要初始化逻辑,也请使用标准 java 方法在首次使用时进行初始化。比如果不仔细编写可能会挂起类加载的捆绑激活器要好得多。如果您想不出没有捆绑激活器的解决问题的方法,请在捆绑启动方法中尽量少做。如果您有大量工作要做,请启动一个线程。
    • +1 给@Konstantin Komissarchik - 在我之后重复:“避免激活器”、“避免激活器”、“避免激活器”、“避免激活器”...
    • 谢谢你,康斯坦丁!请您提供一些说明性示例,说明我们何时无法避免 Bundle-Activator。或者当我们可以避免它的一些微不足道的例子?该代码是不需要的 - 口头描述它,如果它会更短,请。
    猜你喜欢
    • 1970-01-01
    • 2014-11-13
    • 2015-05-14
    • 2020-10-19
    • 2014-05-24
    • 1970-01-01
    • 2011-06-13
    • 2018-12-25
    • 2021-07-19
    相关资源
    最近更新 更多