Mina程序的JMX支持

来源:互联网 发布:linux打开html文件 编辑:程序博客网 时间:2024/05/29 09:25

原文地址:JMX Support

Java管理扩展(JMX)是用于管理和监控Java应用程序。本教程将向您提供一个例子: 怎样建立JMX可用的Mina应用程序。本教程的目的是帮助你让JMX技术集成基于MINA的应用程序。在本教程中,我们将整合MINA-JMX类到虚拟(想象)服务器示例程序。

添加JMX支持

为使JMX支持Mina应用程序我们需要先做好如下操作:

  • 创建/获取 MBean服务器
  • 实例化所需的mbean(IoAcceptor IoFilter)
  • 与MBean服务器注册MBean

剩下来的时间我们会根据\src\main\java\org\apache\mina\example\imagine\step3\server\ImageServer.java来进行讨论。

创建或获取MBean服务端

// create a JMX MBean Server server instanceMBeanServer mBeanServer = ManagementFactory.getPlatformMBeanServer();
这一行代码是获取MBean服务端实例。

实例化MBean(s)

我们为IoService创建一个MBean:

// create a JMX-aware bean that wraps a MINA IoService object.  In this// case, a NioSocketAcceptor. IoServiceMBean acceptorMBean = new IoServiceMBean( acceptor );
创建一个IoService MBean。它接受通过JMX的接收器实例相似地,您可以添加IoFilterMBean和其他自定义MBeans。

通过MBean服务器注册MBean

// create a JMX ObjectName.  This has to be in a specific format.  ObjectName acceptorName = new ObjectName( acceptor.getClass().getPackage().getName() +        ":type=acceptor,name=" + acceptor.getClass().getSimpleName());// register the bean on the MBeanServer.  Without this line, no JMX will happen for// this acceptor.mBeanServer.registerMBean( acceptorMBean, acceptorName );
我们创建一个对象名,需要用作访问MBean的逻辑名称和注册MBean的MBean服务器。现在我们的应用程序中启用JMX。让我们看它的实际应用。

启动虚拟的MBean服务器端

如果你使用Java 5 或者更早版本:

java -Dcom.sun.management.jmxremote -classpath <CLASSPATH> org.apache.mina.example.imagine.step3.server.ImageServer
如果你使用Java 6:

java  -classpath <CLASSPATH> }}{{{}org.apache.mina.example.imagine.step3.server.ImageServer

启动JConsole

使用如下命令启动Jconsole:

/bin/jconsole
我们可以看到不同的属性和操作所暴露的MBeans

0 0