JMX。是否可以制作嵌套的MBean?

时间:2014-03-19 14:53:10

标签: java jmx

例如,我有一些我想通过jmx管理的存储空间。我希望能够一起分开控制所有存储成员。存储接口可能如下所示:

public interface StorageMBean {
    int getSize();

    int disableAll();

    // ??????
    List<EntryMBean> getAllEntries();
}

单个存储条目的界面如下:

public interface EntryMBean {
    String getName();

    void disable();
}

所以我希望能够运行jconsole并一次性或逐个禁用所有条目。现在我只看到一种方法:在我放置组方法的地方注册一些GroupStorageMBean。并注册许多单独的EntryMBeans。现在我需要保持所有这些对象同步。如果我可以注册StorageMBean会更容易,它会提供嵌套的MBean作为属性或类似的东西。因此,通过这种方法,我将能够获得所有条目并单独使用它们。我希望我的解释不是很混乱。可以这样做吗?

1 个答案:

答案 0 :(得分:0)

也许可以禁用单个实例的void disableByIndex(int i)void disableByName(String name)方法可能适合您。我不确定是否可以创建嵌套的MBean,但无论如何我认为这是一个不必要的复杂解决方案,几乎可以肯定JConsole无法处理它们。

希望这有帮助。