一尘不染

我如何给VisualVM命名?”?

java

JDK
1.6捆绑了一个名为VisualVM的便捷工具,使您可以检查正在运行的Java进程并与之交互。一种功能是,它可以自动检测本地计算机上正在运行的JVM。大多数都被列为“(pid
xxxx)”,但是有些具有名称和图标,例如VisualVM本身,而其他则具有NetBeans(例如,请参阅此dzone文章中的屏幕截图)。

如何将我的应用程序名称和图标注入JVM,以使其正确显示在VisualVM的应用程序列表中?我的应用程序需要运行JRE 1.6还是可以在1.5以下运行?


阅读 205

收藏
2020-12-03

共1个答案

一尘不染

我通过NetBeans论坛帖子答案解决了自己的一半问题。添加JVM命令行arg
-Dvisualvm.display.name=FooBar可使VisualVM将应用程序显示为“ FooBar”。但是我仍然不知道如何影响图标。

更新:
las,我想我找到了该图标的答案。这些图标通过VisualVM源中的MainClassApplicationTypeFactory硬编码到VisualVM
中,从静态方法ApplicationTypeFactory.getApplicationTypeFor(Application)调用。除了制作一个可以注册新类型工厂的VisualVM插件外,我看不到将新图标注入VisualVM的任何方法-
例如,Glassfish插件通过GlassFishApplicationTypeFactory.initialize()实现此目的。

2020-12-03