4

遵循Java SE 6 中的 MXBean:在没有特殊 JMX 客户端配置的情况下捆绑值我设法实现了一个 MXBean,它公开了Map<String, String>一个配置参数列表。它按预期出现在 JConsole 中,但所有值都是只读的。

在 MXBEans 文章中,此插图显示了一个示例,其中属性是只读的,因为它们是内存使用值。

在此处输入图像描述

有没有办法让 JConsole 中的属性可编辑?

4

3 回答 3

0

我认为您不能使单个元素可写(从远程 API 的角度考虑,复合类型只是一个 DTO,mbean 是远程接口),但我确实认为您可以使整个复合属性可写,例如:

public Map<String,String> getConfig() {}

public void setConfig(Map<String,String> newConfig) {}

也就是说,我不确定 jconsole 是否支持编辑复合属性,即使它们是可写的。

于 2011-07-13T14:35:48.310 回答
0

尝试使用 Spring MBeanExporter。
我不确定这对你是否可行。
但这很容易。是一个很好的例子。

谢谢。

于 2011-07-13T10:40:53.960 回答
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 被读取以及写入启用。

于 2011-07-13T14:00:09.863 回答