When using an enum as the value component of a Map in an MXBean it appears I am having difficulty with conversion of the enum.
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");
The exception I am receiving in this situation is (edit: have since realised that this exception is due to the fact that the tabularDataSupport is expecting an Object[] as the key parameter.)
java.lang.String cannot be cast to [Ljava.lang.Object;
So the question I have is, is my understanding that enum types should implicitly convert when using JMX proxies incorrect, or am I missing something in terms of extracting the information?
Should the proxy invocation be the same as the interface invocation given that the proxy is supposed to represent the original interface?