例如,我有一些我想通过jmx管理的存储空间。我希望能够一起分开控制所有存储成员。存储接口可能如下所示:
public interface StorageMBean {
int getSize();
int disableAll();
// ??????
List<EntryMBean> getAllEntries();
}
单个存储条目的界面如下:
public interface EntryMBean {
String getName();
void disable();
}
所以我希望能够运行jconsole并一次性或逐个禁用所有条目。现在我只看到一种方法:在我放置组方法的地方注册一些GroupStorageMBean。并注册许多单独的EntryMBeans。现在我需要保持所有这些对象同步。如果我可以注册StorageMBean会更容易,它会提供嵌套的MBean作为属性或类似的东西。因此,通过这种方法,我将能够获得所有条目并单独使用它们。我希望我的解释不是很混乱。可以这样做吗?
答案 0 :(得分:0)
也许可以禁用单个实例的void disableByIndex(int i)
或void disableByName(String name)
方法可能适合您。我不确定是否可以创建嵌套的MBean,但无论如何我认为这是一个不必要的复杂解决方案,几乎可以肯定JConsole无法处理它们。
希望这有帮助。