gpt4 book ai didi

java - 如何监听所有bundle事件?

转载 作者:行者123 更新时间:2023-12-01 14:47:56 24 4
gpt4 key购买 nike

我已经编写了一个 eclipse 插件,它注册了 BundleListenerBundleContext其中是 started 。注册的监听器将记录所有 BundleEvents 。我注意到只有 STARTED 类型的事件已记录。

我已在 config.ini 中将 bundle 注册为从级别 2 开始Eclipse 的默认 bundle 启动级别为 4。

有什么方法可以让我监听 RESOLVED 类型的事件吗?我启动 bundle 是否太晚而无法接收该类型的事件?是否可能使用了多个捆绑上下文?

最佳答案

由于动态性,强制排序通常是一个坏主意,而且在 OSGi 中更糟糕。你可能会得到一些看起来像有起始级别的有序的东西,但它肯定是非常脆弱的,并且很快就会变得非常复杂。由于通常您需要事件来发现状态,我想知道您的用例是什么。在 OSGi 中,找到 Bundle 状态是微不足道的。对于需要事件进行状态发现的应用程序,BundleTracker 提供了一个非常好的 API 来发现一组状态中的 bundle 。根据我的经验,BundleTracker 非常适合 99% 的 BundleListener 用例。

如果您只是进行日志记录,所有框架事件都会记录到日志服务中,并且日志服务通常会很早就启动。通过日志读取器服务,您可以访问开始之前发生的事件。

关于java - 如何监听所有bundle事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15224144/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com