以编程方式识别Karaf中的OSGI捆绑软件故障

问题描述 投票:1回答:1

我们正在使用Karaf-4作为OSGI容器。我们有几个与功能关联的捆绑包。当某个功能包发生故障时,我们希望通过编程进行识别。我们尝试了BundleTracker和BundleListener,但在处于“ GracePeriod”状态下等待捆绑失败后,我们没有收到通知。

我们能够在karaf控制台中使用“列表”命令查看故障包的状态。我们希望通过通知以编程方式实现这一目标,而不是在karaf控制台中执行“列表”命令。

osgi apache-karaf osgi-bundle
1个回答
3
投票

您可以将BundleService用作OSGi服务。 getInfo方法为您提供了BundleState等其他功能。对于失败的捆绑包,您可以调用getDiag以获取详细状态。

实际上,这是diag命令在内部执行的操作。

© www.soinside.com 2019 - 2024. All rights reserved.