没有合适的资源?快使用搜索试试~ 我知道了~
JMX入门教程 程序管理功能的框架
需积分: 9 13 下载量 18 浏览量
2011-05-12
00:24:56
上传
评论
收藏 45KB DOCX 举报
温馨提示
试读
27页
程序管理功能的框架 JMX是一套标准的代理和服务,实际上,用户可以在任何Java应用程序中使用这些代理和服务实现管理
资源推荐
资源详情
资源评论
、 的
一、 简介
什么是 ?在一篇网文中是这样说的:是一个为应
用程序植入管理功能的框架。 是一套标准的代理和服务,实际上,用户可以在任何
应用程序中使用这些代理和服务实现管理,这句话我现在看着还是不知所云,云里雾
里。
我们还是从 能给我们提供什么好处入手来理解吧。举一个应用实例:在一个系统
中常常会有一些配置信息,比如服务的 地址,端口号什么的,那么如何来写这些代码呢?
程序初哥一般是写死在程序里,到要改变时就去改程序,然后再编译发布;
程序熟手则一般把这些信息写在一个配置文件里( 一般都是 !!" 文件),
到要改变时只要改配置文件,但还是重新启动系统,以便读取配置文件里的新值;
# 程序好手则会写一个段代码,把配置值缓存起来,系统在读值的时候,先看看配置文
件有没有更动。如有更改则重读一遍,否则从缓存里读取值
$ 程序高手则懂得取物为我所用,用 !把配置属性集中在一个类,然后写一个叫
% 的东东,再配置一下就轻松搞定了。而且 自动提供了一个 % 页面来给你来改
变这些配置信息。
二、准备工作
是一份规范,&'( 依据这个规范在 )*(#、$、+,)提供了 接口。而根据
这个接口的实现则有很多种,比如 -.的 实现、$、% 的 实现。在
&'( 自己也实现了一份,不过在 )*$ 之前,这件 实现(一些 / 包)是可选的,你
得去 它的网站上下载。)*+, 则内嵌了进来,安装 )*+, 就可以开发基于 的代码了。
但 )*+, 并非包含所有 &'( 的关于 的代码,有一些工具类是排除在 )*+, 之外的。
下面根据所使用的 )* 版本情况,谈一谈开发环境的准备。
、)*#、$
去 &'( 网站下载 &'( 的 实现,共两个 0 文件,下载网址:12!34456.4!
6.4471。
()58998:!
解压后的 - 目录包含:55、55
()5989,99,#8:!
解压后的 - 目录包含:55、59!"5、5
如果在 );& 下用命令行开发,则把这五个 / 包加入到 .!1 系统变量中。如果你
用 .! 开发,则把 / 包加入到项目属性的 <-(库)引用中。
、)*+,
)*+, 的 5=-=5 已经包含了 55、 55、5 三个包的代码。
如果你用到 55、59!"5 的 类,则需要将这两个类加入到 .!1
或 .! 的项目库引用中。
#、我使用的开发环境:)*+,+ .!#。
注:因为用到 55 中的 !& 类,所以将此包加入到项目库引用中。
59!"5 暂时不用到,不管它。
三、 实例
、 是一个需要被管理的类(普通类)
5代码
!.>.615?
# !6-..!%@
$ !&?
+
A !6-.&(@
B 6?
C D
E
, !6-.(&@
1F?
D
#
$ !6-.!@
+ &G6!HI?
A D
B
C !6-.!&71(@
E &G6!HI71(?
, D
D
、要管理 则必须创建一个相应 %,如下:
5代码
!.>.615?
# !6-.J.%@
$ !6-.&(?
+
A !6-.(&?
B
C !6-.!?
E
, !6-.!&71(?
D
说明:包含在 % 中方法都将是可以被管理的。% 起名是有规范的,就是原类名后
加上 % 字样。
#、创建一个 类
5代码
!.>.615?
# !5K.G?
$
+ !5%&?
A !5;-5.(?
B
C !.65>.!&?
E
, !6-..@
!6-.".&LM17.!"@
44%&F%&K.G.%&?
# %&FK.GN%&?
$ ;-5.(1(F7;-5.(.13F?
+ %7H1(?
A ;-5.(!(F7;-5.(
B 3F1!H!FC,C?
C !&!F7!&?
E %!H!(?
, !?
&G6!?
D
# D
说明:
O 先创建了一个 %&,用来做 % 的容器
O 将 这个类注入到 %& 中,注入需要创建一个 ;-5.( 类
O 创建一个 !&,这个类将决定 % 的管理界面,这里用最普通的 型
界面。!& 其实也是一个 %。
O 13F 的名字是有一定规则的,格式为:“域名3F% 名称”,域
名和 % 名称都可以任意取。
$、运行 ,然后打开网页:12!344.13C,C4H看效果P
五、总结
在实际系统中我们可以把 变成决定数库链接池的变量,这样我就可以对系统的
运行参数进行实现的监控和配置(管理)。而且也可以对一些方法(如 !)进行远
程调用了。
、 简介
一、 简介
是一种 的正式规范,它主要目的是让程序且有被管理的功能,那么怎么理解
所谓的“被管理”呢?试想你开发了一个软件(如WEB网 站),它是在24小时不简断运
行的,那么你可能会想要“监控”这个软件的运行情况,比如收到了多少数据,有多少人登
录等等。或者你又想“配置”这个软件, 比如现在访问人数比较多,你想把数据连接池设置
得大一些。
当然,你也许会专门为这些管理来开发软件,但如果你借助 ,则会发现创建这样
的管理程序是如此简单。因为你无需为管理程序来开发界面,已经 有通用的 管理软件,
如 Q$,或者是用一般都附带提供的 R< 网页来管理,你要做的仅仅是将自己要被管理
和监控类的按照 规范修改一下即 可。
中间件软件 -<. 的管理页面就是基于 开发的,而 % 则整个系统都基于
构架。下面将 的一些概念,从 规范转帖如下:
二、 构架中的各层及相关的组件
工具层(6"<)
%(标准的,动态的,开放的和模型 %)
# -通知模型:("S."、("S."< 等类
$ .% 元数据类:2-6、;! 等类
+ 代理层(<)
A %&
B -代理服务。如前一篇的 !& 等。
% 中有 2 和 2 的就是属性,如前一篇的 类中 (。如果只有 2
则表示该属性只读。一共有四种 %,如下:
标准 %(&%)设计和实现是最简单的,这类 % 使用自己的方
法名作为管理接口;
动态 %()G.%)必须实现一个指定的接口,由于动态 % 在运行
期间暴露它们的管理接口,因此更为灵活;
# 开放 %(;!%)属于动态 %,这类 % 依靠基础数据类型来实
现通用管理,并为友情用户进行自我声明;
$ 模型 %(%)同样也是动态 %,这类 % 是完全可配置的,
在运行期间进行自我声明;它们为资源动态工具提供一个一般性的,有默认行为的 %
类。
在前一篇中的 、% 就是一个标准 %(&%)。后面接
下来的几篇,我们会继续介绍其他几种 %。
#、 ("S." 的使用
一、简介
- 之间的通信是必不可少的,("S." 就起到了在 - 之间沟通桥梁的作用。
"S."由四部分组成:
O ("S."这个相当于一个信息包,封装了需要传递的信息
O ("S."-. 这相当于一个广播器,把消息广播出去
O ("S." 这是一个监听器,用于监听广播出来的 ("S." 消息
O ("S."S 这是一个过滤器,过滤掉不需要的 ("S." 消息
("S."-. 不需要我们实现, 的内部已经有了。("S."S 一般也
很少用。下面的例子主要用到了 ("S."、("S."。
二、实例
在第一篇的 中有一个 !&71(方法,意思根据碰到的是谁来打
招呼,比如:
.> 从对面走过来,说:“1T
我们回之以礼,说:“H5.>T
首先这需要 .> 先说一个 1(相应一个操作方法),然后他说的话封装成声波(相当
("S." 消息包)传递出去。然后我们 还要给 >. 装上一个监听器( 的耳朵??U
9U),这个监听器将捕捉到 .> 的声波语音包,并进行相应处理,即说“H5.>T。
好,我们看看如何实现的:
、.> 类及其相应的 %
我们把 .> 写成一个 %,如下:
5代码
!5("S."?
!5("S."%.&6!!?
# !6-...>("S."%.&6!!!.>%@
$ !VF,?
+ !6-.1@
A ("S."F7("S."44创建一个信息包
B 5.>1H44给这个 ("S." 起个名称
C 1H44由谁发出的 ("S."
E IIVH44一系列通知中的序列号H可以设任意数值
, &G.6RH44发出时间
.>?44发出的消息文本
44发出去
# ("S."?
$ DD
+ D
A D
说明:
O 必需继承 ("S."%.&6!!
O 此类只有一个 1 方法,方法只有两句:创建一个 ("S." 消息包,然后将包发出去
O 如果你还要在消息包上附加其他数据,("S." 还有一个 ') 方法可供使用
、接下来是他的 %
5代码
!6-.J..>%@
!6-.1?
# D
#、创建一个 <,监听到的 ("S." 消息包将由此类负责处理。
5代码
!5("S."?
!5("S."<?
# !6-..<!("S."<@
$ !6-.1("S."("S."H;-5.1-.>@
+ &G6!G!FIRG!?
A &G6!6.FI&6.?
剩余26页未读,继续阅读
资源评论
bowenNET
- 粉丝: 7
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 202304910142原道明(1).pbix
- 文本.txt
- 基于Lua的聊天过滤修改版设计源码
- A1_SSE_123090177.py
- Uibot6.0 (RPA财务机器人师资培训第5天 ) 报销汇总机器人案例实战
- 基于Vue的西安美食攻略应用程序设计源码
- tensorflow-2.6.2-cp38-cp38-win-amd64.whl
- 2023-04-06-项目笔记 - 第八十六阶段 - 4.4.2.84全局变量的作用域-84 -2024.03.28
- 基于C语言解决九宫重排问题(源码+剖析)
- 考研分数计算神器(通过考研分数计算规则制作出来的计算工具,结果精准,操作简单,并且还可以与第二个人进行比较)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功