gpt4 book ai didi

java - Play Framework (2.5) - JMX 端口可在 JVisualVM 中查看

转载 作者:行者123 更新时间:2023-11-30 06:45:24 24 4
gpt4 key购买 nike

我正在尝试查看 Play 应用程序的线程管理。需要使用JVisualVm来查看正在运行的线程。基本上,应该启用 JMX 端 Eloquent 能查看 Play 应用程序。我正在使用带有 Activator 的 Play 2.5。使用 acivator run 命令运行应用程序并在 build.sbt 文件中配置 Java Args,如下所示。

javaOptions ++= Seq(
"-Dcom.sun.management.jmxremote",
"-Dcom.sun.management.jmxremote.port=5678",
"-Dcom.sun.management.jmxremote.local.only=false",
"-Dcom.sun.management.jmxremote.ssl=false",
"-Dcom.sun.management.jmxremote.authenticate=false",
"-Djava.rmi.server.hostname=192.11.1.18"
)

但是上述配置没有任何效果。有人可以帮我吗?

最佳答案

JMX客户端无法连接到你的服务器的原因可能是防火墙拒绝连接默认随机分配的com.sun.management.jmxremote.rmi.port,所以你可以设置它为了方便起见,明确设置为与 com.sun.management.jmxremote.port 相同的值。

另一个原因可能是 java.rmi.server.hostname 的值错误,它必须与您使用浏览器访问应用程序时使用的 IP 地址相同。

因此,您的配置可能如下所示:

javaOptions += "-Dcom.sun.management.jmxremote"
javaOptions += "-Dcom.sun.management.jmxremote.port=5678"
javaOptions += "-Dcom.sun.management.jmxremote.rmi.port=5678"
javaOptions += "-Dcom.sun.management.jmxremote.local.only=false "
javaOptions += "-Dcom.sun.management.jmxremote.ssl=false"
javaOptions += "-Dcom.sun.management.jmxremote.authenticate=false"
javaOptions += "-Djava.rmi.server.hostname=192.11.1.18" // make sure it's your app's web address

如果没有帮助,请参阅VisualVM Troubleshooting Guide .

另请检查下面的资源以获取有关类似问题的更多信息(它们与 docker 有关,但本质上与使用 jmc 连接到远程主机相同):

关于java - Play Framework (2.5) - JMX 端口可在 JVisualVM 中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43767070/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com