本文基于jetty7.6进行描述:
jetty提供JMX来进行服务器的管理,此文将描述jetty的JMX支持,来实现远程管理jetty。你可以有很多方式来使用jetty,本文将通过Standalong方式为例来进行描述,针对不同的使用场景(Embedded,mavin)可以参考文档进行配置。
要实现通过JConsole连接jetty的MBeans(管理bean)需要完成以下两个步骤:
1、在平台MBeanServer中注册jetty的Mbeans;
2、启用JMXConnectServer以便于JConsole连接和可视化Mbeans。
1、在平台MBeanServer中注册jetty的Mbeans
java -jar start.jar OPTIONS=Server,jmx etc/jetty-jmx.xml etc/jetty.xml另一种方法是在start.ini中进行指定,添加“jmx”和etc/jetty-jmx.xml配置
2、启用JMXConnectServer
在jetty-jmx.xml中下面代码的注释去掉
<New id="ConnectorServer" class="org.eclipse.jetty.jmx.ConnectorServer">
<Arg>
<New class="javax.management.remote.JMXServiceURL">
<Arg type="java.lang.String">rmi</Arg>
<Arg type="java.lang.String" />
<Arg type="java.lang.Integer"><SystemProperty name="jetty.jmxrmiport" default="1099"/></Arg>
<Arg type="java.lang.String">/jndi/rmi://<SystemProperty name="jetty.jmxrmihost" default="localhost"/>:<SystemProperty name="jetty.jmxrmiport" default="1099"/>/jmxrmi</Arg>
</New>
</Arg>
<Arg>org.eclipse.jetty.jmx:name=rmiconnectorserver</Arg>
<Call name="start" />
</New>
测试:
在cmd中输入jconsole,点击jconsole的连接>>新建连接>>远程进程,根据提示填入ip:port和用户名密码(如果是在本机上可以不输入用户名密码,可以通过这种方式测试JMX远程管理是否启动)。
3、安全的远程接入
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。