我很难过。在我的旧Mac上,Jconsole无法连接到本地JVM。我以为我做了一些搞乱系统配置的事情。然后我买了一台新Mac。我做的第一件事是下载一个jdk,安装它并检查jconsole是否可以连接。它可以。
然后我使用我的Time Machine备份驱动器从我的旧mac中提取用户和应用程序,除了我的系统文件。还在工作。
但我发现我的开发环境发生了奇怪的事情。在eclipse中,我可以启动我的Jboss服务器,但是eclipse从未意识到Jboss服务器已经启动。所以,我永远无法通过eclipse向它添加或删除war文件。
此外,jboss实例无法连接到我的localhost PostGres数据库,即使ds文件显然将localhost作为要连接的主机。
我修复了这些问题,为我的新Mac提供了旧Mac的主机名。 但现在我又回到无法通过jconsole连接到我的本地JVM了。
这不仅会影响jconsole,还会影响jprof,所以我想修复它。
jconsole可以看到JVM进程。当我尝试连接时它会超时。
我还尝试连接到localhost:编写一个睡眠五分钟并使用以下命令行运行它的java类:
java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 9010 -Dcom.sun.management.jmxremote.local.only = false -Dcom.sun.management.jmxremote.authenticate = false
但我无法连接到localhost:9010或:9010。 我的猜测是这是一些网络配置问题,但任何帮助都会非常感激。
谢谢,
乔治
答案 0 :(得分:0)
我有类似的超时问题。查看正在发送的数据包,似乎jconsole正在尝试通过外部接口进行连接并被防火墙阻止。
我添加了
JAVA_TOOL_OPTIONS=-Djava.rmi.server.hostname=localhost
到我的环境,以确保所有java进程使用localhost
而不是RMI的外部接口(这是jconsole用于连接的那个)