私は初めて JMX について調べており、本番環境で発生している問題に対する実行可能な解決策であるかどうかを確認しようとしています。
リモート Web サービス (独自のサーバー上の別のチームによって管理されている) を常にヒットし、そこからデータを要求するアーキテクチャがあります (このサービスからもキャッシュしますが、キャッシュが非常に効果的ではないという厄介な問題です)。
サービスに送信している正確なURL/クエリを確認できる Web サービスにアクセスする直前に、コード内の特定のポイントでログのオン/オフを動的に切り替える機能が必要です。やみくもにログ レベルを設定し、すべての Web サービス リクエストをログに記録すると、天文学的に大きなログ ファイルが作成されます。
JMX は、マネージド Bean を使用してこのセクションのロギングを制御し、その Bean の状態 (setLoggingEnabled(boolean)
など) をマネージャー (おそらく基本的な HTML アダプター) を介してリモートで設定できるソリューションのようです。
私の質問はすべて展開関連です。
- MBean インターフェイスと impl、およびエージェント (MBean と HTML アダプターをプラットフォーム MBean サーバーに登録する) を作成する場合、それらをメインの Web アプリケーション (WAR) 内でコンパイル、パッケージ化、デプロイしますか?独自の、たとえば JAR にコンパイルして、アプリケーションの横にある JVM に置くには?
- Dev、QA、Demo、Prod の環境があります。異なる MBean が登録されている MBean サーバーを指す 1 つの HTML アダプターを、環境ごとに 1 つ持つことは可能ですか? さまざまな環境で Bean を管理できる URL が 1 つあると便利です
- 上記の最初の質問に対する答えが、MBean インターフェイス、impl、およびエージェントがすべてアプリケーション内にデプロイされるというものである場合、JMX 対応アプリケーションを 1 つのサーバー (たとえば、デモ) にデプロイし、それを別のサーバーから監視することは可能ですか?サーバ?
前もって感謝します!