gpt4 book ai didi

java - JMX MXBean 枚举处理转换错误

转载 作者:行者123 更新时间:2023-12-01 15:44:34 25 4
gpt4 key购买 nike

当使用枚举作为 MXBean 中映射的值组件时,我似乎在枚举转换方面遇到困难。

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 cannot be cast to [Ljava.lang.Object;

所以我的问题是,我对使用 JMX 代理时枚举类型应该隐式转换的理解是否不正确,或者我在提取信息方面是否遗漏了某些内容?

考虑到代理应该代表原始接口(interface),代理调用是否应该与接口(interface)调用相同?

最佳答案

问题在于您选择的是 MBean 代理而不是 MXBean 代理。

尝试使用

MyMXBean proxy = JMX.newMXBeanProxy(ManagementFactory.getPlatformMBeanServer(), new ObjectName("MyMXBeanObjectName"), MyMXBean.class); 

关于java - JMX MXBean 枚举处理转换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341730/

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