gpt4 book ai didi

java - 标准 MBean 和动态 MBean 之间有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:18:44 26 4
gpt4 key购买 nike

有什么区别:

  1. 标准 MBean
  2. 动态 MBean

它们各自的优缺点是什么?我们什么时候应该选择这两个组件中的任何一个来管理资源?

最佳答案

标准 mbean 具有固定的元数据,在 MBean 的生命周期内不会更改。动态 MBean 动态定义它们的元数据,并且可以修改和重新发布它们的元数据。想想这个与 Java 的[糟糕] 设计类比:假设您编写了一个列出目录中文件数量的类。标准的类方法可能如下所示:

public int getFileCount(String directoryName)

另一方面,此类的 Dynamic MBean 版本在启动时没有任何方法,但是当它启动时,它会扫描可用目录,并为找到的每个目录创建一个新方法:

public int getFileCountDir1();
public int getFileCountDir2();
....
public int getFileCountDirN();

所以这不是一个非常有用的设置,但假设您想要创建一个显示所有 JVM 系统属性的 MBean。好吧……系统属性发生变化……并且没有合理的方法可以提前定义哪些属性键,因此这将更好地表示 Dynamic MBean 的用途。

优点和缺点归结为:

  1. 标准 MBean 很容易创建,现有的类实例可以作为标准 mbean 包装和公开。
  2. 动态 MBean 服务于有用的目的时很酷,但实现起来显然需要更多的努力。

关于java - 标准 MBean 和动态 MBean 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16214869/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com