关注MXBeans in Java SE 6: Bundling Values Without Special JMX Client Configurations我设法实现了一个MXBean,它公开了一个Map<String, String>
的配置参数列表。它按预期显示在JConsole中,但所有值都是只读的。
在MXBEans文章中,此图显示了一个示例,其中属性是只读的,因为它们是内存使用值。
有没有办法让属性在JConsole中可编辑?
答案 0 :(得分:0)
尝试使用Spring MBeanExporter
我不确定,这是否适合你。
但这很容易。 Here是一个非常好的例子。
感谢。
答案 1 :(得分:0)
要使JConsole中的属性可写,您还需要在MBean接口中公开setter方法。
package com.example;
public interface HelloMBean {
public void sayHello();
public int add(int x, int y);
public String getName();
public int getCacheSize();
public void setCacheSize(int size);
}
此名称为readOnly,读取cacheSize并启用写入。
答案 2 :(得分:0)
我不认为你可以使各个元素可写(从远程API角度考虑它,复合类型只是一个DTO,mbean是远程接口),但我认为你可以做到整体复合属性可写,例如:
public Map<String,String> getConfig() {}
public void setConfig(Map<String,String> newConfig) {}
说,我不确定jconsole 是否支持编辑复合属性,即使它们是可写的。