Как дать имя VisualVM "<неизвестное приложение>"? - PullRequest
21 голосов
/ 14 декабря 2010

JDK 1.6 поставляется в комплекте с удобным инструментом VisualVM, который позволяет вам проверять и взаимодействовать с запущенными процессами Java. Одна особенность заключается в том, что он автоматически обнаруживает запущенные JVM на локальном компьютере. Большинство из них перечислены как «(pid xxxx)», но у некоторых есть имя и значок, например, сама VisualVM и другие, например NetBeans (см. Снимок экрана в этой статье dzone , например).

Как мне вставить имя и значок моего приложения в JVM, чтобы оно правильно отображалось в списке приложений VisualVM? Должно ли мое приложение работать под управлением JRE 1.6 или я могу сделать это под 1.5?

1 Ответ

29 голосов
/ 14 декабря 2010

Я решил половину своего вопроса через ответ на форуме NetBeans . Добавление аргумента командной строки JVM -Dvisualvm.display.name=FooBar заставляет VisualVM показывать приложение как «FooBar». Но я все еще не могу понять, как повлиять на иконку.

ОБНОВЛЕНИЕ: Увы, я думаю, что нашел свой ответ для значка. Значки жестко запрограммированы в VisualVM через MainClassApplicationTypeFactory в источнике VisualVM, вызываемом из статического метода ApplicationTypeFactory.getApplicationTypeFor (Application). Я не вижу способа внедрить новый значок в VisualVM, кроме как путем создания плагина VisualVM, который мог бы зарегистрировать новую фабрику типов - плагин Glassfish делает это, например, через GlassFishApplicationTypeFactory.initialize ().

...