VisualVM无法连接到除1099以外的任何端口

问题描述 投票:0回答:1

我有一个在kubernetes管理的docker容器中运行的远程jvm应用程序:

java -jar /path/to/app.jar
  -Dcom.sun.management.jmxremote  
  -Dcom.sun.management.jmxremote.authenticate=false
  -Dcom.sun.management.jmxremote.ssl=false
  -Dcom.sun.management.jmxremote.local.only=false
  -Dcom.sun.management.jmxremote.port=1099
  -Dcom.sun.management.jmxremote.rmi.port=1099
  -Djava.rmi.server.hostname=127.0.0.1 

[当我尝试使用端口转发和VisualVM进行调试时,仅当我在本地计算机上使用端口1099时,它才起作用。端口1098、10900或任何其他端口不起作用。这适用于VisualVM:kubectl port-forward <pod-name> 1099:1099此人没有: kubectl port-forward <pod-name> 1098:1099

我在VisualVM中使用“添加JMX连接”选项,连接到localhost:1099localhost:1098。前者有效,后者无效。

为什么我不能在VisualVM上使用非1099端口?

UPD我认为问题与VisualVM有关,因为无论我选择哪个本地端口,端口转发都可以正常工作:

$ kubectl port-forward <pod> 1098:1099
Forwarding from 127.0.0.1:1098 -> 1099
Forwarding from [::1]:1098 -> 1099
Handling connection for 1098
Handling connection for 1098
docker kubernetes jvm visualvm
1个回答
0
投票

用于连接到localhost的完整JMX URL如下:

© www.soinside.com 2019 - 2024. All rights reserved.