我想在tomcat7-maven-plugin上启用JMX。如何将CATALINA_OPTS传递给插件配置?
答案 0 :(得分:0)
两种可能的解决方案(未经测试):
答案 1 :(得分:0)
在我的.profile
中添加以下行 export MAVEN_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9000 -Xmx1024m -XX:MaxPermSize=256m -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"
答案 2 :(得分:0)
如果您想启用jmxremote.authenticate,请使用它。
在setenv.sh
-Dcom.sun.management.jmxremote.port=7091 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=true \
-Djava.rmi.server.hostname=127.0.0.1 \
-Dcom.sun.management.jmxremote.password.file=/usr/tomcat/conf/jmxremote.password \
-Dcom.sun.management.jmxremote.access.file=/usr/tomcat/conf/jmxremote.access"
vi jmxremote.access文件
monitor readonly
admin readwrite \
create javax.management.monitor.*,javax.management.timer.* \
unregister
vi jmxremote.password文件
monitor pass1
admin pass2
更改权限
sudo chown tomcat7:tomcat7 /usr/tomcat/conf/jmxremote.*
sudo chmod 0600 /usr/tomcat/conf/jmxremote.*
控制端口
我们需要添加jmx侦听器
/usr/tomcat/conf/server.xml文件,如下所示:
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"
rmiRegistryPortPlatform="7091" rmiServerPortPlatform="7091" />
在tomcat lib中添加jmx jar文件:/ usr / tomcat / lib/。
The jar we are looking for is called catalina-jmx-remote.jar.
重新启动tomcat,然后尝试使用jconsole或jvisualvm连接
reference :
1. https://blog.markshead.com/1129/connecting-visual-vm-to-tomcat-7/
2.https://geekflare.com/enable-jmx-tomcat-to-monitor-administer/#:~:text=JMX%20(Java%20Management%20Extension)%20is,Classes%2C%20and%20configure%20various%20MBeans.