我正试图在远程服务器上运行jstatd。根据文档,我创建了一个策略文件,并使用以下命令启动deamon:
jstatd -p 1199 -J-Djava.security.policy=<path-to-policy>
在下面的帖子中,我读到我必须在防火墙中打开两个端口:jps can';t连接到远程jstatd
打开这两个端口后,一切都很好(包括通过VisualVM连接到我的远程Java应用程序)。现在我已经读到1199端口是修复的,但第二个端口是每次启动jstatd时的随机端口(使用VisualVM通过防火墙连接到远程jstatd实例)。这使得我的防火墙裁决相当复杂。是否有可能将端口设置为固定值?我的问题是,我不能每次重新启动jstatd时都更改防火墙。
提前感谢您的帮助和问候,无政府企业
我想最好的解决方案是使用ssh隧道和通过ssh -D
创建的SOCKS代理。一旦你有了它,在VisualVM首选项中设置SOCKS代理。有关详细信息,请参阅DZone上的这篇文章。