Springフレームワークを使用せずにSpringJMXエクスポーターに似たものはありますか?
SimpleJMXは合理的であるように見えますが、1人の人間によってのみプッシュされる非常に若いフレームワークでもあるようです。
たくさんの属性、メソッド、クラスをJMXとして公開する必要がありますが、JMXAPIをいじったり大量のJMXインターフェースを記述したりしたくありません。
そして、プロジェクトにSpringを導入する方法はありません(念のため)。ヒントやアイデアは大歓迎です:-)
Springフレームワークを使用せずにSpringJMXエクスポーターに似たものはありますか?
SimpleJMXは合理的であるように見えますが、1人の人間によってのみプッシュされる非常に若いフレームワークでもあるようです。
たくさんの属性、メソッド、クラスをJMXとして公開する必要がありますが、JMXAPIをいじったり大量のJMXインターフェースを記述したりしたくありません。
そして、プロジェクトにSpringを導入する方法はありません(念のため)。ヒントやアイデアは大歓迎です:-)
commons-dbcp-jmxのorg.weakref.jmxutils
ライブラリにまたがってカムします。例を確認してください。ManagedBasicDataSource.java
@Managed(description = "The current number of active connections that have been allocated from this data source.")
public synchronized int getNumActive() {
return super.getNumActive();
}
私はそのライブラリを自分で使用したことはありませんが、機能しているようです。
わかりました。SimpleJMXとJMXUtilsをすばやく評価しました。どちらも期待どおりに機能し、SpringJMXエクスポーターと非常によく似ています。ただし、私の場合はJMXUtilsの方が使いやすいと思います。
JMXUtilsを使用すると、すでに起動しているプラットフォームmbeanサーバーにMBeanを登録/登録解除するのが非常に簡単です。私の場合、アプリケーションサーバーとしてGlassFish V3を使用していましたが、自分のmbeanのためだけに別のMBeanサーバーを起動したくありませんでした。
SimpleJMXのAPIはこれを許可しておらず、SimpleJMX APIを使用して別のMBeanServerを起動し、作成されたmbeanを登録することを余儀なくされるか(APIを使用すると非常に簡単です)、mbeanを登録しようとしていじり始めます。プラットフォームmbeanサーバーに。後者はもう少し複雑なので、JMXUtilsを使用することにしました。
JMXUtilsの欠点は、Bean名の操作です。SimpleJMXは、アノテーション(domainName、beanName)で属性を使用します。これは非常に便利ですが、JMXUtilsでは、mbeanドメインを使用するときにmbeanに名前を付けるための構文を知っている必要があります。全体として大したことではありませんが、私の好みでは、SimpleJMXがこれに対するより良いソリューションを持っています。
肝心なのは、両方のライブラリが素晴らしく、それぞれの仕事をしているということです。JMXUtilsを使うことにしました。