原文地址: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 instance
MBeanServer 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。

Mina程序的JMX支持相关推荐

  1. 在Visual Studio中构建启动时申请管理员权限的程序(UAC支持)

    这几天写了几个修改注册表的程序,因为需要管理员权限,所以就搜了一下如何构建启动时申请管理员权限的程序(UAC支持,也就是程序左下角多了个小盾牌). 其实方法很简单,就是修改manifest文件中执行权 ...

  2. 在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议)

    原标题:在C++ Builder中用socket api来写网络通讯程序(同时支持TCP和UDP协议) 原文:  http://www.csdn.net/develop/read_article.as ...

  3. [UWP]针对UWP程序多语言支持的总结,含RTL

    原文:[UWP]针对UWP程序多语言支持的总结,含RTL UWP 对 Globalization and localization 的支持非常好,可以非常容易地实现应用程序本地化. 所谓本地化,表现最 ...

  4. uni app input添加获取验证码按钮_uni-app跨平台框架对微信小程序的无障碍支持探索...

    uni-app是一个使用Vue.js开发所有前端应用的框架,开发者编写一套代码,可发布到iOS.Android.H5.以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝).快应用等多个平台. ...

  5. 强大的装逼,表白,炫富,恶搞短视频制作神器微信小程序源码支持多种流量主

    大家好给大家带来一款强大的微信小程序源码 该源码是属于制作短视频类型的 支持一键制作成各种短视频,比如装逼,表白,炫富,恶搞-..等等 里面拥有各种各样的模板,和抖音一键制作视频一个道理 另外里面小编 ...

  6. 喝酒神器微信小程序源码 支持流量主解锁多人对战

    简介: 今天给大家带来一款娱乐超高的喝酒神器微信小程序源码 该款小程序还支持换筛盅皮肤哟,拥有多种皮肤看激励视频解释 流量主支持多种广告方式的收益 首页弹窗广告位 激励视频广告位 Banner广告位 ...

  7. 独家全新娱乐性超高的喝酒神器微信小程序源码支持流量主解锁多人对战等等

    今天给大家带来一款娱乐超高的喝酒神器微信小程序源码 该款小程序还支持换筛盅皮肤哟,拥有多种皮肤看激励视频解释 流量主支持多种广告方式的收益 首页弹窗广告位 激励视频广告位 Banner广告位 视频广告 ...

  8. 二开版优化新紫色UI云开发新款壁纸小程序源码支持用户投稿在线审核

    本壁纸表情包头像小程序采用(dcloud云开发)所以无需服务器与域名 无需服务器.无需域名.云开发直接上线 特点:支持用户投稿,后台审核后会发订阅消息给用户提示作品审核状态,增加用户粘性,支持后端修改 ...

  9. PHP开发网易云FM音乐试听程序源码+支持下载功能

    正文: PHP开发网易云FM音乐试听程序源码+支持下载功能,如果您有编程开发能力,可以自己修改源码中的代码,但是不要使用记事本修改,因为会造成编码和一些其它不可预料的错误. 如果你需要更换API接口, ...

最新文章

  1. 深度学习--TensorFlow(项目)识别自己的手写数字(基于CNN卷积神经网络)
  2. 行为模式之Iterator模式
  3. 【hdu1241Oil Deposits】【HDU 2612 Find a way】
  4. rxandroid 源码分析
  5. SAP Fiori开发工具——Eclipse环境搭建
  6. 通过最简单的button控件,深入学习SAP UI5框架代码系列之零
  7. python第三方库安装的各种方法(全网最全,最简单易懂)
  8. JAVA 堆栈 堆 方法区 解析
  9. 手动制作python安装模块
  10. 微信小程序使用组件实现移动端软键盘
  11. 2021-12-20---2021SC@SDUSC---DolphinScheduler(13)
  12. 第三章第二十一题(科学:某天是星期几)(Science: day of the week)
  13. 北京师范大学计算机试题二答案,北京师范大学期末计算机试题二
  14. 数字电路要点总结-TTL电路分析
  15. 临近毕业,2020春招困惑你的十大问题,你中招了吗?
  16. 十年磨一剑:蚂蚁集团可观测性平台 AntMonitor 揭秘
  17. urllib库学习 - 京东商城手机图片爬虫
  18. Office 2019 Office 2016 下载地址
  19. Google Earth Engine (GEE) ——全球海岸线数全球海岸线数据集30米分辨率
  20. 如何在linux上打开fit文件,FIT 文件扩展名: 它是什么以及如何打开它?

热门文章

  1. jQuery 图片懒加载的方法 以及用$('.lazyImg').each()出错的地方,记录一下~
  2. 洛谷—— P2904 [USACO08MAR]跨河River Crossing
  3. 技能梳理20@stm32+ESP8266+onenet+dht11+mq2+led+风扇+oled
  4. 数组和字符串的方法以及常用事件、函数this
  5. 深信服android面试题,2017年深信服Android开发岗位笔试面试总结
  6. 阿里云视频点播(测试)
  7. 7.22武汉日全食自拍留念
  8. “海底长城”合龙!揭秘深中海底隧道中的无损检测技术
  9. 考试题目“笨笨玩游戏”
  10. OSPF的四种网络类型详解