jetty-配置JMX
jetty中文文档:www.jettycn.comJetty
>> 教程
>> 配置JMX
介绍
本教程介绍了Jetty和JMX的集成,包括在Jetty中如何配置和初始化JMX。
详细说明
访问由Jetty发布的MBean的最简单的方法是使用Sun公司的Java虚拟机提供的JConsole工具
。参见用JConsole监控Jetty
说明,其中描述了为了使用JConsole应如何配置JVM。
配置
取决于Jetty的引导方式,Jetty和JMX集成的步骤会有所不同。
独立方式启动Jetty
当在独立模式下运行时,通过jetty-jmx.xml配置文件可以为Jetty服务器配置MBeanContainer实例。jetty-jmx.xml做为标准配置文件运行,命令行如下所示:
java -jar start.jar OPTIONS=Server,jmx etc/jetty-jmx.xml etc/jetty.xml
请确保jetty-jmx.xml是命令行中列出的第一个XML文件,这样可以确保所有支持注册为MBean的对象都能够被正确地检测到。
内嵌的Jetty
如果Jetty嵌入到一个应用程序了,下面的代码片段展示了如何创建和配置一个MBeanContainer实例:
Server _server = new Server();
// Setup JMX
MBeanContainer mbContainer=new MBeanContainer(ManagementFactory.getPlatformMBeanServer());
_server.getContainer().addEventListener(mbContainer);
_server.addBean(mbContainer);
mbContainer.addBean(Log.getLog());
请注意,在创建Server后马上创建了MBeanContainer,随后把MBeanContainer注册为Server的Container对象的一个EventListener,然后立刻添加了一个MBean(Log.getLog())。由于日志模块在MBeanContainer之前初始化,这就需要手动创建一个日志MBean。
Jetty Maven插件
如果你使用Jetty
Maven插件
,你应该拷贝etc/jetty-jmx.xml文件到你的web应用工程的某个地方,例如src/etc,然后在插件的<configuration>元素中添加<jettyconfig>元素:
<plugin>
<groupid>org.mortbay.jetty</groupid>
<artifactid>maven-jetty-plugin</artifactid>
<version>${project.version}</version>
<configuration>
<scanintervalseconds>10</scanintervalseconds>
<jettyconfig>src/etc/jetty-jmx.xml</jettyconfig>
</configuration>
</plugin>
自定义监控应用
你也可以使用JMX
API编写自定义应用来监控你的Jetty服务器。为了使这个应用能够连接到你的Jetty服务器,你需要取消etc/jetty-jmx.xml配置文件最后一节的注释,并有选择地修改端点的名称。这将创建一个JMX
HTTP连接,并注册一个JMX URL,这个过程将输出到Stderr log。
你应该给你的监控应用提供(出现在log中)URL,以便创建MBeanServerConnection。相同的URL也可以用于从远程使用JConsole连接到你的Jetty实例。有关详细信息,请参阅配置文件
。
其他资源
参见用JConsole监控Jetty
,里面描述了应如何配置JVM才能使用JConsole。
你也可以使用java-monitor
通过JMX来监控你的Jetty服务器。参见Jetty
java-monitor
功能指南获得更多信息。
页:
[1]