2

現在、JMX に基づく監視機能を構築しています。監視対象のシステムは、いくつかの KPI を既に発行/購読方式で公開しています。つまり、カスタム コードの監視クライアントは、システムに接続し、そのような KPI をアクティブにして購読することができ、システムは、新しい KPI 値が利用可能になるとすぐにクライアントに通知します。 . これらの KPI の評価は計算コストがかかる可能性があるため、少なくとも 1 つのサブスクライブされたクライアントを持つ KPI のみが評価されます。

私の仕事は、JMX と JMX 通知に基づいて監視サーバーを提供するシステムを拡張して、JMX クライアントがこれらの KPI をアクティブ化、サブスクライブ、および受信できるようにすることです。

私が直面している問題は次のとおりです。接続された各クライアントは、サーバー上のいくつかの状態を変更します (つまり、KPI をアクティブ化し、いくつかのリスナーを登録します)。これは、クライアントのセッションが完了したり、接続が失われたために失敗したりしたらすぐにクリーンアップする必要があります。

セッションに関しては、JMX 仕様の13.1 章で次のように述べられています。

セッションには、クライアント、特にそのリスナーの状態があります (208 ページのセクション 13.4「リモート リスナーの追加」を参照してください)。セッションは必ずしもサーバー上に状態を持っているわけではなく、この仕様で定義された 2 つのコネクタの場合はありません。

一部のセッション状態を維持できる JMXConnectorServer 実装を知っている人はいますか? このようなサーバーを実装する際のコード サンプル、チュートリアル、またはガイダンスも高く評価されます。

4

1 に答える 1