2005-11-14
[导入]JMX技术
JMX在技术上的需求可以说是将管理功能从功能性接口中分离出来。
例如一个缓存接口
interface ICache{
Object get(Object key);
void put(Object key, Object value);
}
但一个具体实现类可能有很多参数可以调整,如缓存的最大尺寸等。这些可配置参数一般与具体实现紧密相关,即与实例相关,而不直接涉及到所要实现的功能。例如实现类可以具有setMaxSize()和getMaxSize()方法。
如 果这些配置方法在功能接口中定义,就会造成功能接口的臃肿和不必要的与实现方法之间的依赖。如果直接调用实现类的方法,只能使用reflection, 但是java class作为元数据所承载的信息量有限,需要外部定义一个规范来补充信息。JMX就是这样的一种规范。
例如一个缓存接口
interface ICache{
Object get(Object key);
void put(Object key, Object value);
}
但一个具体实现类可能有很多参数可以调整,如缓存的最大尺寸等。这些可配置参数一般与具体实现紧密相关,即与实例相关,而不直接涉及到所要实现的功能。例如实现类可以具有setMaxSize()和getMaxSize()方法。
如 果这些配置方法在功能接口中定义,就会造成功能接口的臃肿和不必要的与实现方法之间的依赖。如果直接调用实现类的方法,只能使用reflection, 但是java class作为元数据所承载的信息量有限,需要外部定义一个规范来补充信息。JMX就是这样的一种规范。
发表评论
- 浏览: 107250 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
最近加入圈子
链接
最新评论
-
关于REST
说的太抽象,看完之后好像是理解了,又好像很模糊。
-- by zjq_blog -
[导入]关于jsplet的一些 ...
我有一个疑问:把一个request || response带入到biz里面会不会 ...
-- by deepthink -
C++配置管理
boost里已经有现成的啦!
-- by jimmy_c -
不完全的计算
当我们 oo 的时候,一般都不认为自己在“计算”,当我们计算的时候,根本就想不起 ...
-- by hotman_x -
面向集合的框架设计
嘿嘿,说句不合时宜的话,一个事物“完美”是因为它已经没有价值,没有改进的必要。费 ...
-- by hotman_x






评论排行榜