圣凤凌霜 发表于 2017-2-25 12:24:50

jetty-配置JMX

  jetty中文文档:www.jettycn.com
  Jetty
>> 教程
>> 配置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]
查看完整版本: jetty-配置JMX