ServiceMBeanは、それはあなたのJVMの一部であり、JMXです。 web.xmlのload-on-startupサーブレットタグは、J2EEアプリケーションの一部です。
JMXは、JDK 1.5以降のJ2SEの一部です。したがって、JVMごとに1つのServiceMBeanを持つことができます。アプリケーションごとではありません。 JMXは、JVMの監視と管理に最も使用されます。ロードされたクラス数と実行中のスレッド数、メモリ消費量、ガベージコレクション統計、オンデマンドデッドロック検出などの情報へのアクセスを提供します。別の一般的な使い方は、キャッシュをリフレッシュすることです。
JMXでは、JMXコンテナがサポートしている管理コンソールを使用してアプリケーションを計測し、制御/監視することができます。例として、参照データキャッシュを実装するWebアプリケーションがあります。
データベースで顧客名が変更されているため、キャッシュをリフレッシュする必要があることがありました。 MBeanインターフェイスでリフレッシュメソッドを使用していた場合は、JMXコンソールを使用してこのイベントをトリガできる必要があります。 JMXコンソールは、J2EEサーバーに付属するWebまたはファットクライアントです。私たちのJ2EEサーバーはSNMPもサポートしています。つまり、標準のTivoliまたはUniCenterコンソールからメソッドを呼び出すことができます。 http://www.theserverside.com/news/1364664/J2EE-Application-Management-The-Power-of-JMX
あなたは、いくつかのasynchriousアクションをトリガーするために、ServiceMBeanへのリモートアクセスを必要としません。さらに、JVM全体ではなく、アプリケーションの範囲で検証する必要があります(理論的には、ServiceMBeanでこの問題を処理できます)。したがって、web.xmlのload-on-startupサーブレットタグとして行うのは当然です。このようにして、アプリケーションの起動時に検証が行われます。
もう1つの説明: ServiceMBeanがJBoss-way JMXを書きます。すべてのMBeanはサーバワイドです(アプリケーション全体ではありません)。そのため、上記のMBeanとServiceMBeanを自由に使用しています。