2

Craig Walls 著「Spring In Action」第 4 版の「第 20 章 - JMX を使用した Spring Bean の管理」を読んでいます。この章には 527 ページに 1 つの段落があります。


MBean サーバーはどこから?

構成されているように、MBeanExporter はアプリケーション サーバー (Tomcat など) または MBean サーバーを提供するその他のコンテキストで実行されていると想定します。ただし、Spring アプリケーションをスタンドアロンで実行するか、MBean サーバーを提供しないコンテナーで実行する場合は、Spring コンテキストで MBean サーバーを構成する必要があります。

XML 構成では、<context:mbean-server>要素がそれを処理できます。Java 構成では、より直接的なアプローチを取り、タイプ MBeanServerFactoryBean() の Bean を構成する必要があります (これは XML で行うことです)。


上記の段落についていくつか質問があります。

  1. Tomcat のようなサーバー上でアプリケーションを実行する場合、<context:mbean-server>宣言は不要になるということですか?

  2. 上記のステートメントが当てはまる場合、Tomcat やその他のアプリケーション サーバーなどのサーバーで実行している場合、MBean サーバーの場所を特定するのは誰ですか?

前もって感謝します!

4

1 に答える 1

1

その情報は少し古いです...

または MBean サーバーを提供するその他のコンテキスト。

Java 5 以降 (私の記憶が正しければ)、JVM には MBeanServer が組み込まれています。それ以前は、App サーバーで実行するかMBeanServer、mx4j などの他のサーバーを提供する必要がありました。

いずれにしても、サーバー Bean 宣言は必要です。使用するサーバーを Spring に通知します (基になるは XML 名前空間パーサーによって true に設定されます。そのフラグが false の場合、ファクトリ Bean は追加の MBeanServer を作成しますMBeanServerFactoryBeanlocateExistingServerIfPossible

于 2016-03-27T14:43:48.987 に答える