web-dev-qa-db-ja.com

MBeanとMXBeanの違い

MBeanおよびMXBeanに関して次の質問があります。

  1. MBeanMXBeanの違いは何ですか?
  2. MBeanおよびMXBeanの使用例は何ですか?
48
Denim Datta

MXBeansは、特別な種類のMBeansです。主な違いは、MXBeanがデータ型を制限しているため、潜在的なクライアントとの「互換性が高い」ことです。

例:MBeanは、データ型Fooの属性を公開できます。ここで、クライアントは属性を理解するためにこのタイプFooを持つ必要もあります。

MXBeanは、データ型を「すでに使用可能な」ものに制限しようとします-Java.lang.*など.

このチュートリアル を参照してください

46
Heiko Rupp

MXBeanは、公開型、基本的にプリミティブ型、文字列、およびそれらの構成に制限されているMBeanです。これらの制約により、MXBeanはクラスをロードせずに使用できるため、非Javaクライアントでも相互運用できます。ここで仕様を見つけることができます: http://docs.Oracle.com/javase/7/docs/api/javax/management/package-summary.html#package_description

MBeansは、Javaオブジェクトで、メソッドを使用してSerializable/Externalizableオブジェクトを格納/取得できるオブジェクトのいずれかです。オブジェクトで使用される設計パターンに基づいて、区別できますStandard(static)またはDynamic。MBeanで接尾辞付きのインターフェースクラス名を維持することを推奨

MXBeansは、事前定義されたタイプのセットのみを参照します。 MXBeanの接尾辞が付いたインターフェイスクラス名を維持することをお勧めします。 Dynamicまたはcusotmized JavaBeanのインターフェースを実装します。 MXBeanを使用すると、あらゆるクライアントがMBeanを使用しやすくなります。

参照 MBean vs MXBean

4

MBeans:

Javaオブジェクトのいずれかです。このオブジェクトでは、メソッドを使用してSerializable/Externalizableオブジェクトを格納/取得できます。

オブジェクトで使用される設計パターンに基づいて、標準(静的)または動的のいずれかを区別できます。 MBeanのサフィックスが付いたインターフェースクラス名を維持することをお勧めします。

MXBeans:

事前定義されたタイプのセットのみを参照します。 MXBeanの接尾辞が付いたインターフェイスクラス名を維持することをお勧めします。 DynamicまたはカスタマイズされたJavaBeanのインターフェースを実装します。

MXBeanを使用すると、あらゆるクライアントがMBeanを使用しやすくなります。 MXBeanを使用するために必要な追加の詳細。

ここを参照

4
user2704588