我有一个类的 mbean 说 foo.bar.Log4j
我想使用 jolokia 列出所有记录器?

我曾尝试阅读 https://jolokia.org/reference/pdf/jolokia-reference.pdf 但这告诉我如何获取预定义的 java.memory 等值

请建议如何让 jolokia 检索用户定义类的记录器

最佳答案

您必须记住,即使您的 mbean 是 servlet 中的单例,您的 servlet 也可能在多个端点上运行 - 这就是为什么仅命名空间不足以识别您的 mbean 实例。

如果要获取 foo.bar.Log4j 的所有实例,可以像这样使用 read 端点:

http://yourserver/jolokia/read/foo.bar.Log4j:*

通常,您可以获得所有可用 mbean 的列表,如下所示:
http://yourserver/jolokia/list

您最终应该得到一个包含您可能想要获取的所有内容的大型 json 文档。你会看到类似的东西
"foo.bar.Log4j": {
  "name=foo,type=MyLogger": {
    "desc": ...
    "attr": {
        ...
}}}

您现在可以使用以下内容获取属性:
http://yourserver/jolokia/read/foo.bar.Log4j:type=name=foo,type=MyLogger

除了 typename ,您可能还会看到其他字段,例如 contextid 。这个 a:b 键是您的 mbean 的 Java ObjectName

关于java - 如何使用 jolokia 检索类的 mbean,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38838526/

10-13 05:10