Glassfish アプリケーション サーバーは、優れた監視 REST インターフェイスを提供します。これを使用するには、EJB コンテナーなど、いくつかの監視可能な項目を管理コンソールで有効にすることができます。ドキュメントによると、デプロイされたすべてのアプリケーションの EJB 統計を取得できます。
localhost:4848/monitoring/domain1/server/applications/ APPNAME/EJBNAMEのような URL を要求すると、アプリケーションの特定の EJB の統計が取得されます。
さらに、ejb の各 Bean メソッドをより深く調べる可能性があります
。EJB コンテナで監視が有効になっている場合、これはステートレスおよびステートフル セッション Bean とエンティティ Bean について収集されます。
問題は、監視が EJB コンテナー (レベルを HIGH に設定) で有効になっているが、デプロイされたアプリケーションの EJB の Bean メソッドで何もサンプリングされないことです。
Bean やグラスフィッシュで何か特別なことはありますか?
助けてくれてありがとう、
クリス
編集:
わかりました、私はその動作についてさらに何かに気づきました:
サーバー ログには、デプロイされた EJB ごとに次のようなログ メッセージが表示されます。
INFO: EJB5181:Portable JNDI names for EJB DataFetcher // ...
ejb-container の監視レベルを HIGH に設定すると (これがやりたいことです)、デプロイするアプリに関係なく、デプロイされた EJB ごとに次の警告が表示されます。
WARNING: MNTG0201:Flashlight listener registration failed for listener class : com.sun.ejb.monitoring.stats.StatelessSessionBeanStatsProvider , will retry later
警告をグーグルで検索しましたが、EJB監視を有効にするのに実際に役立つ結果はありません...