jmx

NotificationBroadcasterSupportにExecutor

JMXの通知で使えるサポートクラス javax.management.NotificationBroadcasterSupport に、リスナ呼び出しをExecutorで行う機能がついていた. 適当な Executor を渡すと、リスナ毎に Executor の呼び出しを行うようになっていた. 未指定時はそのまま Runnable…

JMXの属性や操作に簡単にアクセスする

JMXの属性を取得したり操作を呼び出したりしようとすると非常に面倒. 属性の場合複合オブジェクトだとCompositeDataを再帰的に降っていかないといけないし、操作に関してはいちいちメソッドのシグネチャを特定しなければならない. この辺は型が分かっていれ…

JMX接続の気持ち悪い挙動

JConsoleからリモートホストで動いているJVMに接続するときの挙動が気持ち悪い。推測の域を出ないのだけれど、リモートホスト上でホスト名から引いたIPアドレスとJConsoleが接続するリモートのポートのIPアドレスが等しいようなホスト名をリモートホストにつ…

通知(Notification)を行うNotificationEmitterを実装したMXBean

JMXでの「通知」を行えるMBean(MXBean)を作った。その概要を説明するためのサンプル。JVMのOldピープ増加速度を通知する(jstatを使えば通知はできなくてもシェルレベルでログ出力まではできそう)。実行時のJConsoleイメージはこのエントリの下のほうにのせ…

NotificationEmitter は実装クラスに implements する

状態の通知を可能にするインターフェース NotificationEmitter は MXBean に extends させてはダメ。MXBean の実装クラスに implements する。NotificationBroadcasterSupportを継承できないときに出くわしたケース。ちょっと考えたら当たり前か。MBeanとし…