4

Java SE 6 での MXBean の追跡: 特別な JMX クライアント構成を使用しない値のバンドル構成Map<String, String>パラメーターのリストを公開する MXBean を実装することができました。期待どおり 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

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 に答える
0

Spring MBeanExporter を使用してみてください。
これが実現可能かどうかはわかりません。
しかし、それは非常に簡単です。これは非常に良い例です

ありがとう。

于 2011-07-13T10:40:53.960 に答える