21

JDK 1.6 には VisualVM と呼ばれる便利なツールがバンドルされており、実行中の Java プロセスを検査して対話することができます。1 つの機能は、ローカル マシンで実行中の JVM を自動検出することです。ほとんどは " (pid xxxx)" としてリストされていますが、VisualVM 自体や NetBeans などの名前とアイコンを持つものもあります (たとえば、この dzone 記事のスクリーンショットを参照してください)。

VisualVM のアプリケーション リストに正しく表示されるように、アプリケーション名とアイコンを JVM に挿入するにはどうすればよいですか? 私のアプリは JRE 1.6 を実行する必要がありますか、それとも 1.5​​ 未満でも実行できますか?

4

1 に答える 1

31

NetBeansフォーラムの投稿回答を介して、自分の質問の半分を解決しました。のJVMコマンドライン引数を追加すると-Dvisualvm.display.name=FooBar、VisualVMはアプリを「FooBar」として表示します。しかし、私はまだアイコンに影響を与える方法を理解することはできません。

更新:ああ、私はアイコンの答えを見つけたと思います。アイコンは、静的メソッドApplicationTypeFactory.getApplicationTypeFor(Application)から呼び出される、VisualVMソースのMainClassApplicationTypeFactoryを介してVisualVMにハードコードされます。新しいタイプのファクトリを登録できるVisualVMプラグインを作成する以外に、新しいアイコンをVisualVMに挿入する方法がわかりません。たとえば、GlassfishプラグインはGlassFishApplicationTypeFactory.initialize()を介してこれを行います。

于 2010-12-14T05:36:18.827 に答える