在tomcat7-maven-plugin上启用jmx

时间:2013-01-04 16:27:56

标签: jmx catalina maven-tomcat-plugin

我想在tomcat7-maven-plugin上启用JMX。如何将CATALINA_OPTS传递给插件配置?

3 个答案:

答案 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.