JMX考察

簡単なところで、JMX RIのHtmlAdaptorServerを利用していろいろしてみてるがなかなか面白いかも。

で、commons ModelerなるMBean作成ツールがあるってことで早速使ってみた。

・・・すげぇ楽だ

わざわざ〜MBeanってInterface作らなくてもいいのね。

public class Test {
    private String _message = "test";

    public void setMessage(String message) {
        _message = message;
    }

    public String getMessage() {
        _message = message;
    }

    public void printMessage() {
        System.out.println(_message);
    }
}

ってクラスをMBeanとして登録するのに、

Register register = Register.getRegister(null, null);
register.registerComponent(
        new Test(), new ObjectName("Test:name=Test"), null);

追記:
register.registerComponentの第二引数がString版もあるのね。
単にObjectNameを作らなくて本来ObjectNameの引数に渡す文字列を直接書いてもいけるってだけ。



これだけでいいんだ。。。
Modelerが内部的に
MbeansDescriptorsIntrospectionSource
ってのを使ってるのでこいつを使って直接MBeanを作成することも可能
その場合は、

MBeanServer server = MBeanServerFactory.createMBeanServer();

MbeansDescriptorsIntrospectionSource ds =
       new MbeansDescriptorsintrospectionSource();
ManagedBean mBean = ds.createManagedBean(
                        null, null, Test.class, null);
server.registerMBean(mBean.createMbean,
        new ObjectName("Test:name=Test"));

これでOK


MX4Jも使いたいんだけど、なぜかHttpAdaptorがうまく使えない。
厳密にはXSLTProcessorがまずいみたいなんだけど。追跡中ですが、結構根がふかそう。。。

まぁ何かしらわかればまた書くかもということで。