栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何远程访问Spring-boot JMX

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何远程访问Spring-boot JMX

默认情况下,JMX可在本地自动访问,因此在

jconsole
本地运行将检测到所有本地Java应用程序而不会暴露端口。

要通过JMX 远程访问应用程序,必须指定一个RMI注册表端口。要知道的是,在连接时,JMX在该端口上初始化,然后在随机的高端口上建立数据连接,如果中间有防火墙,这将是一个很大的问题。

要强制JMX在建立的端口上重新连接,你有两种选择:

选项1:命令行

-Dcom.sun.management.jmxremote.port=$JMX_REGISTRY_PORT -Dcom.sun.management.jmxremote.rmi.port=$RMI_SERVER_PORT

如果你使用的是Spring Boot,则可以将其放入(appname).conf与(appname).jar部署一起存在的文件中。

选项2:Tomcat / Tomee配置

配置一个JmxRemoteLifecycleListener:

Maven Jar:

<dependency>        <groupId>org.apache.tomcat</groupId>        <artifactId>tomcat-catalina-jmx-remote</artifactId>        <version>8.5.9</version>        <type>jar</type>    </dependency>

配置你的server.xml:

<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"      rmiRegistryPortPlatform="10001" rmiServerPortPlatform="10002" />

选项3:以编程方式配置

@Configurationpublic class ConfigureRMI {    @Value("${jmx.rmi.host:localhost}")    private String rmiHost;    @Value("${jmx.rmi.port:1099}")    private Integer rmiPort;    @Bean    public RmiRegistryFactoryBean rmiRegistry() {        final RmiRegistryFactoryBean rmiRegistryFactoryBean = new RmiRegistryFactoryBean();        rmiRegistryFactoryBean.setPort(rmiPort);        rmiRegistryFactoryBean.setAlwaysCreate(true);        return rmiRegistryFactoryBean;    }    @Bean    @DependsOn("rmiRegistry")    public ConnectorServerFactoryBean connectorServerFactoryBean() throws Exception {        final ConnectorServerFactoryBean connectorServerFactoryBean = new ConnectorServerFactoryBean();        connectorServerFactoryBean.setObjectName("connector:name=rmi");        connectorServerFactoryBean.setServiceUrl(String.format("service:jmx:rmi://%s:%s/jndi/rmi://%s:%s/jmxrmi", rmiHost, rmiPort, rmiHost, rmiPort));        return connectorServerFactoryBean;    }}

你将看到的窍门是

serviceUrl
在其中指定jmx:rmi主机/端口和jndi:rmi主机/端口。如果同时指定两者,则不会出现随机的高“问题”。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/407863.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号