当在 MXBean 中使用枚举作为 Map 的值组件时,似乎我在转换枚举时遇到了困难。
public enum MyEnum {
EnumVal1, EnumVal2, EnumVal3
};
public interface MyMXBean {
Map<String,MyEnum> getEnumMap();
}
MyMXBean proxy = JMX.newMBeanProxy(ManagementFactory.getPlatformMBeanServer(), new ObjectName("MyMXBeanObjectName"), MyMXBean.class);
MyEnum retval = proxy.getEnumMap().get("key");
在这种情况下我收到的异常是(编辑:已经意识到这个异常是由于 tabularDataSupport 期望 Object[] 作为关键参数。)
java.lang.String 不能转换为 [Ljava.lang.Object;
所以我的问题是,我是否理解枚举类型在使用 JMX 代理时应该隐式转换不正确,还是我在提取信息方面遗漏了什么?
鉴于代理应该代表原始接口,代理调用是否应该与接口调用相同?