You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Java 11环境下将VisualVM连接至JBoss EAP 7.4.0

Java 11环境下VisualVM连接JBoss EAP 7.4.0的可行方案

问题回顾

尝试通过VisualVM监控远程JBoss EAP 7.4.0时,因参考旧教程使用Java 11已废弃的-Xbootclasspath/p参数导致启动失败;替换为-Xbootclasspath/a或使用--patch-module时,又出现日志管理器未正确加载、类找不到等错误。

正确配置步骤

1. 修改standalone.conf配置文件

移除所有与-Xbootclasspath、--patch-module相关的错误配置,保留JMX远程参数及必要JVM配置,让JBoss模块系统自动处理日志管理器加载。修改后的核心JAVA_OPTS配置如下:

if [ "x$JBOSS_MODULES_SYSTEM_PKGS" = "x" ]; then
   JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager"
fi

if [ "x$JAVA_OPTS" = "x" ]; then
   JAVA_OPTS="-Xms16g -Xmx16g -XX:MetaspaceSize=1g -XX:MaxMetaspaceSize=1g -Djava.net.preferIPv4Stack=true"
   JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
   # JMX远程监控核心配置
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=9010"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.local.only=false"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
   JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
   # 允许外部机器访问管理端口(必填)
   JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address.management=0.0.0.0"
   # 指定远程服务器IP,避免RMI地址解析错误(必填)
   JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=你的远程服务器IP"
else
   echo "JAVA_OPTS already set in environment; overriding default settings with values: $JAVA_OPTS"
fi

# enable garbage collection logging if not set in environment differently
if [ "x$GC_LOG" = "x" ]; then
   GC_LOG="true"
else
   echo "GC_LOG set in environment to $GC_LOG"
fi

2. 关键配置说明

  • 移除bootclasspath类路径参数:JBoss EAP 7.4已原生适配Java 11,其模块系统会自动加载org.jboss.logmanager,无需手动指定启动类路径,避免与JVM的模块化机制冲突。
  • JMX远程参数:保留端口、认证、SSL配置,新增-Djboss.bind.address.management=0.0.0.0开放管理端口对外访问,-Djava.rmi.server.hostname指定远程服务器IP,解决VisualVM连接时的RMI地址解析问题。
  • 日志管理器:无需手动添加-Djava.util.logging.manager=org.jboss.logmanager.LogManager,JBoss启动脚本会通过模块系统自动配置正确的日志管理器。

3. 启动JBoss EAP

执行启动脚本:

./standalone.sh

4. VisualVM连接操作

在本地VisualVM中:

  • 右键点击「远程」→「添加远程主机」,输入远程服务器IP
  • 右键点击已添加的主机→「添加JMX连接」,输入连接地址:service:jmx:rmi:///jndi/rmi://远程服务器IP:9010/jmxrmi
  • 取消勾选「需要SSL连接」,点击「确定」即可完成连接

常见问题排查

  • 若连接失败,检查远程服务器防火墙是否开放9010端口
  • 查看JBoss启动日志,搜索jmxremote关键字验证配置是否生效
  • 确认远程服务器的Java版本为Java 11,且与JBoss EAP 7.4的版本兼容

内容的提问来源于stack exchange,提问作者Still Shi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 00:45:55