JVisualVMはJMXを介してJavaプロセスに接続し、ボタンをクリックすることでスレッドダンプを生成することができます。自分のアプリケーションに同様の機能を追加して、リモートサービスからスレッドダンプを要求できるようにしたいと思います。リモートからJavaスレッドダンプを取得する方法
この情報を取得するためにどのMBeanを調べる必要がありますか?そしてどうやって?
JVisualVMはJMXを介してJavaプロセスに接続し、ボタンをクリックすることでスレッドダンプを生成することができます。自分のアプリケーションに同様の機能を追加して、リモートサービスからスレッドダンプを要求できるようにしたいと思います。リモートからJavaスレッドダンプを取得する方法
この情報を取得するためにどのMBeanを調べる必要がありますか?そしてどうやって?
名前が"java.lang:type=Threading"
のMBeanを使用できます。インターフェイスはhereと記載されています。
スレッドダンプを取得するには、まずgetAllThreadIds
メソッドを使用し、取得したすべてのIDをループして、それぞれにgetThreadInfo
メソッドをコールする必要があります。
ThreadMXBean管理インターフェイスを使用できます。
このFullThreadDumpクラスは、完全なスレッドダンプを取得し、JMXを使用してリモートでデッドロックを検出する機能を示します。