java - VisualVM 1.3.7 无法从 GlassFish 获取 Java Web 应用程序列表

标签 java netbeans-7 glassfish-4 visualvm

当我运行 Java 应用程序(具有 main 方法的简单应用程序)时,VisualVM 将其列为正在运行的应用程序。然而,在 NetBeans 上运行我的 Java Web 应用程序后,VisualVM 1.3.7 仅在 Local 下显示 NetBeans IDE 7.2.1(pid 4708)、VisualVM 和 GlassFish(pid 2136)。

在 Netbeans 配置中,我使用的是 JDK 1.7,J2EE 版本是 Java EE6,Profile 设置为 Web,并且在 GlassFish Server 4 上运行。

我还根据 this 的“无法从 GlassFish 获取 Web 应用程序列表”部分将 Web 容器设置为高。 .

根据我对解决问题的研究,我下载并安装了 VisualVM-Extensions 插件也无济于事。

我使用了以下所有方法来运行 VisualVM。

  1) I ran it by executing the VisualVM.exe file
  2) using following command in console 
      visualvm --jdkhome "C:\Program Files\Java\jdk1.7.0_13" --userdir "C:\Users\Alex\AppData"
  3) using following command in console
      visualvm --jdkhome "C:\Program Files\Java\jdk1.7.0_13" --userdir "C:\Documents and Settings\Alex\AppData\Roaming\VisualVM\1.3.7" 

最佳答案

好的,所以 VisualVM 只是要查看正在运行的 JVM。当您有一个在 Glassfish 中运行的 Web 应用程序时,会有一个包含 Glassfish 的 JVM(您的 Web 应用程序托管在其中)。 VisualVM 只能看到在 JVM 层运行的东西。与使用命令行方法直接运行 Java 类相比,它不会对托管 glassfish 的 JVM 有任何不同。

除非有一个适用于 Glassfish 的 VisualVM 插件知道如何查询相关的 JMX bean 以提取其中定义的容器详细信息,否则标准 VisualVM 将像任何其他 JVM 一样查看容器。

如果您想查看您的 Glassfish 容器中部署了哪些 Web 应用程序(或其他任何东西),您可以使用它的 Web 控制台,或者如果您想以编程方式检查它,则可以使用它的 JMX 接口(interface)。

关于java - VisualVM 1.3.7 无法从 GlassFish 获取 Java Web 应用程序列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22238712/

相关文章:

java - 部署到 Glassfish 4.1 时无效的 URL 模式

java - libGDX 不创建库和 Assets 文件夹

java - JSONArray 异常 : Index 50 out of range [0. .50)。 JsonArray 有没有限制

java - 在 Android 中为 LinearLayout 添加边距

linux - 如何在 Netbeans 中显示变量的 unicode 字符串

c++ - NetBeans 7.0.1 良好的 C++ 程序执行 "RUN FAILED"

java - 在 Windows 7 上使用安装程序安装 Glassfish Server 失败

java - 如何禁用 JFace 菜单的所有图像,但在工具栏中保留它们启用状态

java-me - j2me Netbeans 中的混淆

security - 如何让每个用户根据他们在 JAAS 中的权限/角色访问特定位置的资源?