标准的mbean具有固定的元数据,这些元数据在MBean的生命周期内不会发生变化.动态MBean动态定义其元数据,并可以修改和重新发布其元数据.想想这个[非常]人为的类比Java:假设你写了一个列出目录中文件数量的类.标准类方法可能如下所示:
public int getFileCount(String directoryName)
另一方面,此类的Dynamic MBean版本将从没有方法开始,但是当它启动时,它会扫描可用的目录,并为找到的每个目录创建一个新方法:
public int getFileCountDir1();
public int getFileCountDir2();
....
public int getFileCountDirN();
Run Code Online (Sandbox Code Playgroud)
所以这不是一个非常有用的设置,但是假设你想创建一个显示所有JVM系统属性的MBean.嗯......系统属性改变了......并且没有合理的方法知道哪些属性键会提前定义,这样可以更好地表示动态MBean的优点.
优点和缺点真正归结为:
| 归档时间: |
|
| 查看次数: |
2696 次 |
| 最近记录: |