问题描述
VisualVM 连接到本地 karaf 实例没有任何问题,但不会进行远程连接。我团队中的其他人使用此远程连接。
当我转到 VisualVM > 首选项 ... > 网络时,VisualVM 也会挂起
这让我相信这可能是某种许可/防火墙问题。 我使用的是 OSX 11.4 Big Sur,VisualVM 是 2.0.7 版。
位于 /private/var/log/appfirewall.log 的防火墙日志是空的,因为显然 it only logs user-defined rules.
我不知道 VisualVM 有没有日志,还没有找到。
解决方法
结果连接失败,因为在远程 url 中很难发现拼写错误。 当我修正错字时,连接可用。 使用 jdk 标配的 jconsole 发现了这一点,并且在连接 url 错误时确实会出现错误。
tl;dr 在尝试使用 VisualVM 进行故障排除之前尝试使用其他工具。
关于使用 VisualVM 进行故障排除:
-
VisualVM 在 VisualVM 上挂起 > 首选项 ... > 网络不管。
-
连接问题未显示在日志中。
VirtualVM 的日志记录是通过设置 /Applications/VisualVM.app/Contents/Resources/visualvm/etc/visualvm.conf
文件的日志属性来启用的。
为此,您可以将 J-Djava.util.logging.config.file=<log.properties>
添加到 visualvm_default_options
中的列表中。
在您的 log.properties 文件中,您可以像往常一样定义日志文件和日志级别:
handlers = java.util.logging.FileHandler
java.util.logging.FileHandler.pattern = ~/visualvm.log
java.util.logging.FileHandler.level = INFO