Humanity

Edit the world by your favorite way

JMX とそのユースケース等について

  • 監視によく使われる
  • できること
    • 値の(クライアントから見た)プル
    • 値の変更
    • 値のプッシュ
    • 閾値を超えた段階での(クライアントへの)通知
  • 代替案
    • プルや値の変更は REST API とか作ればできる
    • プッシュや通知はロギングや MQ 等のミドルウェア、または MBaaS でできそう
  • 上記で挙げた代替案との最大の違いは、JMX というプロトコル自体が開発者や管理者向けの物であること
    • つまりユーザーに対する「機能」を提供する用途にはまず使われない
    • 例として、デフォルトで提供されている MBean によって GC を強制的に動かしたり JVMスタックトレースGC の状況を取得できる
  • メリット
    • ただ、閾値等による通知は割と便利な気がする。よく調べてないけど、わざわざ別スレッドでデーモン動かしたりしなくても、タイマー登録すれば定期的に巡回してくれたりするのかも
    • あと、jconsole や jvisualvm、jmc といったツールだと CPU 使用率等の数値の値がグラフ&時系列で見れるので、正に監視にうってつけな API といった印象

参考リンク