1

在 karaf 控制台中,如果您的 bundle 与 spring 框架连接,列出 bundle 将显示 spring 状态。例如,请参见下面的捆绑包 91。它的弹簧状态是“失败”。

无论如何可以通过 JMX karaf MBeans 获取这些信息吗?

MBean org.apache.karaf:type=bundles,name=SOMENAME/attribute=Bundles 列出了包的 osgi 状态,但没有列出 karaf 状态。有一个单独的 MBean 用于蓝图,但是四处挖掘我找不到任何列出捆绑包的弹簧状态的公开内容。

   ID   State         Blueprint      Spring    Level  Name
[  91] [Active     ] [            ] [FAILED ] [   80] Foo Common Services (1.0.0)
[  92] [Active     ] [            ] [       ] [   80] Apache Felix Declarative Services (1.6.0)
[  93] [Active     ] [            ] [       ] [   80] Commons Codec (1.4)
[  94] [Active     ] [            ] [       ] [   80] Foo Crypto (1.0.0)
[  95] [Active     ] [            ] [       ] [   80] Commons Lang (2.6)
4

1 回答 1

3

在 karaf 3 中,我们统一了 bundle 状态。那时只有一种状态,包括蓝图和弹簧状态。您还可以调用 getDiag(bundleId) 来获取失败的 spring 包的错误消息。

不幸的是,在 karaf 2.x 中没有这样的功能。

于 2014-02-21T06:27:05.877 回答