JDK 1.6 捆绑了一个名为 VisualVM 的便捷工具,可让您检查正在运行的 Java 进程并与之交互。其中一项功能是它会自动检测本地计算机上正在运行的 JVM。大多数被列为“(pid xxxx)”,但有些有名称和图标,例如 VisualVM 本身和其他类似 NetBeans(请参阅中的屏幕截图)这篇 dzone 文章 http://java.dzone.com/news/visual-vm-free-and-open-source例如)。
如何将应用程序名称和图标注入 JVM,以便它正确显示在 VisualVM 的应用程序列表中?我的应用程序需要运行 JRE 1.6 还是我也可以在 1.5 下执行此操作?
我通过一个解决了我自己的问题的一半NetBeans 论坛帖子 http://forums.netbeans.org/ptopic27578.html回答。添加 JVM 命令行参数-Dvisualvm.display.name=FooBar
使 VisualVM 将应用程序显示为“FooBar”。但我仍然不知道如何影响图标。
UPDATE:唉,我想我找到了图标的答案。这些图标通过以下方式硬编码到 VisualVM 中主类应用程序类型工厂 https://visualvm.dev.java.net/source/browse/visualvm/visualvm/application/src/com/sun/tools/visualvm/application/type/MainClassApplicationTypeFactory.java?view=markup在 VisualVM 源中,从静态方法 ApplicationTypeFactory.getApplicationTypeFor(Application) 调用。除了创建一个可以注册新类型工厂的 VisualVM 插件之外,我看不到任何将新图标注入 VisualVM 的方法——例如,Glassfish 插件通过 GlassFishApplicationTypeFactory.initialize() 来完成此操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)