2

環境NetBeans6.9.1、GlassFish 3.1、METRO 2.1

利用可能なWebサービスのリストを作成したいので、JMXMBeanServerにクエリを実行してい*:type=WSEndpoint,*ます。問題は、デプロイ後のMbeanが56個までしかなく、WSEndpointBeanが登録されていないことです。JMXtermに接続すると、MBeanの数が最大380に跳ね上がり、すべてのWSEndpointBeanが表示されます。JConsoleからは何も表示されませんfolderが、JMXtermを実行した後は表示されます。

Webサービスを呼び出しても、MBeanは未登録のままです。METROモニタリングはデフォルトで有効になっていますが、そのままにしておきました。デプロイ後、コンソールメッセージINFO: Metro monitoring rootname successfully set to: amx:pp=/mon/server-mon[server],type=WSEndpoint,name=...が表示されます。

すべてのMBeanが表示されるようにJMXtermは何をしますか?それはへのメソッド呼び出しを行いMBeanServerますか?WSEndpointデプロイ直後にBeanにアクセスできるようにするための解決策はありますか?

4

2 に答える 2

2

bootAMXMBeanでJMX操作を実行することにより、ですべてのAMXMBeanの登録をトリガーできますamx-support:type=boot-amx

于 2011-04-12T07:53:05.080 に答える
0

その間、私はMETROユーザーガイド:19.5で答えを見つけました。注

AMXmbeanは遅延して作成されます。したがって、GlassFishにエンドポイントをデプロイし、JConsoleを使用してMetro WSEndpoint mbeanを検索すると、AMXmbeanが表示されない場合があります。これをアクティブにするには、asadminGUIまたはCLIを起動します。または、jmxtermを使用して、そのドメインコマンドを発行します。

場合によっては、Metroエンドポイントmbeanは、エンドポイントが最初のクライアント呼び出しを受信するまで表示されません。

スタブが1回の呼び出しに使用され、すぐに閉じられると、WSClientmbeanがすぐに表示されたり消えたりする可能性があります。信頼性の高いメッセージングまたは安全な会話を使用するスタブは、複数の通話に使用される可能性が高いため、通常、アクティブな状態が長く続きます。

ただし、asadmin GUIまたはCLIを実行しても役に立たなかったため、JMXtermを使用してJVMに接続することによってのみ解決できました。

于 2011-04-11T20:15:35.207 に答える