jconsole远程连接
开启jmx,jdk1.5之前还要手动开启,现在已经默认开启了,所以可以省略
-Dcom.sun.management.jmxremote=true
服务所在机器的ip地址
-Djava.rmi.server.hostname=xx.xx.xx.xx
jmx的端口
-Dcom.sun.management.jmxremote.port=9080
JMX在远程连接时,会随机开启一个RMI端口作为连接的数据端口,很有可能这个端口会被防火墙给阻止,以至于连接超时失败。好在在Java7u25版本后可-Dcom.sun.management.jmxremote.rmi.port=端口号来定死这个端口,好消息是,你可以将这个端口和jmx.port的端口设置成一个端口,这样防火墙策略就只需要同行一个端口就可以了
-Dcom.sun.management.jmxremote.rmi.port=9080
不开启验证
-Dcom.sun.management.jmxremote.authenticate=false
不开启ssl通信
-Dcom.sun.management.jmxremote.ssl=false
如在docker+spring boot环境下
1.配置docker启动脚本
-e "JAVA_OPTS=-Djava.rmi.server.hostname=xx.xx.xx.xx -Dcom.sun.management.jmxremote.port=9086 -Dcom.sun.management.jmxremote.rmi.port=9086 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
2.配置Dockerfile
ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar app.jar
添加密码访问
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.access.file=/data/file/StoreClient/jmxremote/jmxremote.access
-Dcom.sun.management.jmxremote.password.file=/data/file/StoreClient/jmxremote/jmxremote.password
jmxremote.access内容
admin readwrite
jmxremote.password内容
admin pwd123