jboss7.x - 使用 VisualVM 连接到 JBoss 7

标签 jboss7.x jmx visualvm

我有远程 JBoss 7.1 服务器,我想使用 VisualVM 或 JConsole 连接到该服务器。

我用谷歌搜索了一下,发现了几个关于如何使用 VisualVM 或 JCoonsole 连接到 JBoss 7.1 的线程/教程,例如:

  • https://community.jboss.org/thread/171346?start=0&tstart=0
  • https://issues.jboss.org/browse/WFLY-895
  • https://community.jboss.org/wiki/UsingJconsoleToConnectToJMXOnAS7
  • http://blog.akquinet.de/2012/11/01/connecting-visualvm-with-a-remote-jboss-as-7-eap6-jvm-process/

  • 不幸的是,我没有通过 JMX 连接到我的 JBoss 7.1。

    您对如何使用 VisualVM 连接到 JBoss 7.1 有任何想法吗?

    编辑:
    我将 -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.authenticate=false 添加到standalone.conf.bat,但出现异常:
    引起:java.lang.IllegalStateException:LogManager 没有正确安装
    alled(您必须将“java.util.logging.manager”系统属性设置为“org.jboss.logmanager.LogManager”)。

    所以,我在 JAVA_OPTS 中添加了另一个选项:-Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.jboss.logmanager.LogManager
    但我收到的异常(exception)是这样的:
    Could not load Logmanager "org.jboss.logmanager.LogManager"
    java.lang.ClassNotFoundException: org.jboss.logmanager.LogManager
            at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    

    最佳答案

    找到了解决办法。我需要将以下参数添加到 standalone.conf.bat 中的 JAVA_OPTS 中:

    -Dcom.sun.management.jmxremote.port=1090 ^
    -Dcom.sun.management.jmxremote.authenticate=false ^
    -Dcom.sun.management.jmxremote ^
    -Dcom.sun.management.jmxremote.ssl=false ^
    -Djava.util.logging.manager=org.jboss.logmanager.LogManager ^
    -Xbootclasspath/p:<JBOSS_PATH>/modules/org/jboss/logmanager/main/jboss-logmanager-1.2.2.GA.jar ^
    -Xbootclasspath/p:<JBOSS_PATH>/modules/org/jboss/logmanager/log4j/main/jboss-logmanager-log4j-1.0.0.GA.jar ^
    -Xbootclasspath/p:<JBOSS_PATH>/modules/org/apache/log4j/main/log4j-1.2.16.jar -Djboss.modules.system.pkgs=org.jboss.logmanager
    

    注1:使用\而不是 ^在 Unix 上。

    注2:替换<JBOSS_PATH>使用您的 JBoss 7.x 安装路径。我的是 c:/java/jboss-as-7.1.1.Final .

    关于jboss7.x - 使用 VisualVM 连接到 JBoss 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19135550/

    相关文章:

    Java 飞行记录器 : Does it need JMX readwrite access or is readonly enough?

    java - VIsualVM 从列表中丢失本地 Java 进程

    java - 为 JBoss AS 7 运行 Java 服务包装器时出错

    encoding - 如何在 JBoss 7 中正确接收 UTF-8 字符?

    java - JBoss 7.1 - 声明数据源并通过 JNDI 访问

    java - 将标准 mbean 转换为动态 mbean/代码生成

    java - 使用 JMX 连接访问 GridKernalMBean

    java - 如何使用 VisualVM 对 Wildfly10 进行 CPU 配置?

    java - 寻找内存泄漏,VisualVM : "No GC root found". 接下来是什么?

    java - 当类位于 JBoss AS7 WAR WEB-INF/classes 文件夹中时出现 NoClassDefFoundError