我注意到JMX MBean的约定似乎偏离了标准的Java Bean属性模型,因为属性的名称通常以大写字母开头,即PascalCase。
为了更清楚地解释这一点,我将从JDK中取一个例子(为了清晰起见,将其切碎):
public interface MemoryMXBean {
public int getObjectPendingFinalizationCount();
public MemoryUsage getHeapMemoryUsage();
public MemoryUsage getNonHeapMemoryUsage();
public boolean isVerbose();
public void setVerbose(boolean value);
}
暴露的Memory MXBean具有 V erbose, H eapMemoryUsage等属性。 每个暴露的MBean都是这种情况,并且在定义自己的MBean时会收到相同的行为。
有谁知道这个约定/实现细节的起源? 我浏览了JMX规范,只发现了对属性名称区分大小写的传递,没有提到明确的约定。