繁体   English   中英

对服务器和远程JMX Bean使用相同的端口

[英]Using same port for Server and remote JMX beans

我们正在使用嵌入式Jetty作为运行在端口8080上的Web服务器,并希望在Jconsole上监视应用程序。 启动特定于JMX的Jetty服务器时,我们使用以下系统属性:

-Dcom.sun.management.jmxremote.access.file=jmxremote.access  
-Dcom.sun.management.jmxremote.password.file=jmxremote.password   
-Dcom.sun.management.jmxremote   
-Dcom.sun.management.jmxremote.authenticate=true   
-Dcom.sun.management.jmxremote.ssl=false   
-Dcom.sun.management.jmxremote.port=8081  

尽管JMX和Webserver在两个不同的端口上运行,但是客户端是否可以通过8080端口通过Jconsole / JvisualVM访问JMX? 无论如何,JMX Proxy会为我提供帮助吗? 有可能吗?

提前致谢。

阿贾伊

并非没有任何努力。 简而言之,一个端口上始终只能有一个服务器(或者相反:服务器不能共享端口)。

如果JMX支持HTTP请求,则可以将其作为Servlet在同一HTTP服务器上运行。 将有一个端口(由HTTP服务器使用),然后HTTP URL将允许服务器确定客户端是否要与JMX或Web应用程序进行通信。

但是JMX不直接支持HTTP请求。 您可以尝试Jolokia请参阅此问题 ),也可以编写servlet,该servlet允许客户端查询某些mbean(但没有JMX协议)。

JMX规范具有可以使用任何协议进行传输的Connector ,请参见http://en.wikipedia.org/wiki/File:Jmxarchitecture.png

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM