通知を発行するMBeanを定義する際のガイドライン、特に通知の種類を調べる。オラクルのサイトにあるJMX Best Practicesには次のような記述があります。しかしそれは少し古くてJava6以前のものです。JMX通知を発行するためのベストプラクティス
通知は、javax.management.Notificationのインスタンスまたはjavax.management名前空間のサブクラスの1つである必要があります。これらのサブクラスのいずれかに収まらない情報は、setUserDataメソッドを使用して通知にCompositeDataを添付することによって伝えられます。
また、Oracleのサイトでは、Weblogicが独自のサブクラスを定義していることがわかりました。 WebLogicLogNotification。そのBest Practices状態:
すべてのJMX通知オブジェクトは、javax.management.Notificationオブジェクト型を拡張します。 JMXとWebLogic Serverは、javax.management.AttributeChangeNotificationなどの追加の通知オブジェクト型を定義します。追加のオブジェクトタイプには、さまざまなタイプのイベントに適した特別な情報セットが含まれています。
当社の通知は、我々は、通知に伝えたい情報のカスタムゲッターで私たち自身のサブクラスを定義考えると、そうWLSのように、標準のサブクラスのいずれかに適合しません。あるいは、javax.management.Notificationの基盤を守り、汎用のsetUserData(Object)を使って情報を添付する方が良いでしょうか?後者の場合、ObjectはCompositeDataのようなJMX型でなければならないと思います。消費者の視点から考えた方が良いでしょうか?
編集:コンシューマビューから、私はカスタムサブクラスの欠点は、アプリケーション/クラスパスにそれを含める必要があると思います。