Apache MINA JMX整合

JMX用于管理和监控Java应用,这个指南会提供一个例子来说明如何在基于MINA的应用中使用JMX。

这个指南用于说明如果将JMX技术整合到基于MINA的应用中,在这里,将会整合MINA-JMX类到HTTP服务器例程中。

版本:本指南使用的MINA版本在1.0以上。

1 增加一个服务管理MBean

example/src/main/java/org/apache/mina/example/httpserver/codec/Server.java

引入如下内容:

import java.lang.management.ManagementFactory;
import javax.management.MBeanServer;
import javax.management.ObjectName;
import org.apache.mina.integration.jmx.IoServiceManager;

下面还有:

IoAcceptor acceptor = new SocketAcceptor();

然后增加下面代码:

IoServiceManager serviceManager = new IoServiceManager( acceptor );
serviceManager.startCollectingStats(1000);

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName("mina.example.http.server:type=IoServiceManager");
mbs.registerMBean(serviceManager, name);

IoServiceManager类实现IoServiceManagerMBean接口,IoServiceManager类持有一个IoService对象,并且在其执行时监视其工作,每几秒钟推出工作情况,每次呼叫serviceManager.startCollectingStats(1000)方法。

后面三行代码是用于定义JMX的,以使其适合于JMX子系统进行监控。传入的字串参数是对象名称,可以使用你想要的任意名字,主要是用于描述这个MBean。

编译这个JMX增强的HTTP服务器。这里没有什么特别的。

2 启动这个HTTP服务器

注意Java版本:不同版本的命令行参数会有不同。

如果使用Java5或是以前版本:

java -Dcom.sun.management.jmxremote -classpath <CLASSPATH> org.apache.mina.example.httpserver.codec.Server

Java6及以上版本:

java    -classpath <CLASSPATH> org.apache.mina.example.httpserver.codec.Server

3 启动JConsole

启动JConsole使用如下命令:

<JDK_HOME>/bin/jconsole

一旦用JConsole连接到这个支持JMX的HTTP服务器,那么就可以通过点击"MBeans"来展开,然后在树形菜单里展开"mina.example.http.server",下面可以看到MBean的属性,这些列在下面的属性和操作都是包括在org.apache.mina.integration.jmx.IoServiceManagerMBean接口中的方法。定义这些方法的类是org.apache.mina.integration.jmx.IoServiceManager。

下面是属性列表:

AverageByteReadThroughput
AverageByteWrittenThroughput
AverageMessageReadThroughput
AverageMessageWrittenThroughput
ManagedSessionCount
TotalByteReadThroughput
TotalByteWrittenThroughput
TotalMessageReadThroughput
TotalMessageWrittenThoughput

另外,你可以执行下面所列的操作:

closeAllSessions
startCollectingStats
stopCollectingStats

4 关于MINA和JMX更深入的信息

未完,待续。

参考文档:

Apache MINA JMX Integration http://mina.apache.org/jmx-integration.html
Added by Mark Webb, last edited by Trustin Lee on Apr 09, 2007

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值