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