MXBean カスタム型に問題があり、それを処理できません。Map< enum, OtherThing>
これは、属性を含む私のJava構造です
PPV とそのインターフェース
public class PPV implements PPVMXBean {
public enum EnumPV {
PV1,
PV2;
}
public static Map<EnumPV, PV> list;
public Map<EnumPV, PV> getList() {
return list;
}
}
public interface PPVMXBean {
public Map<EnumPV, PV> getList();
}
PVとそのインターフェース
public class PV implements PVBean {
public enum EnumTP {
TP1,
TP2;
}
private Map<EnumTP, EnumP[]> mapP;
private Map<EnumTP, EnumP[]> mapC;
private Map<EnumTP, EnumP[]> mapT;
private Map<EnumTP, EnumP[]> mapV;
public Map<EnumTP, EnumP[]> getMapP() {
return mapP;
}
public Map<EnumTP, EnumP[]> getMapC() {
return mapC;
}
public Map<EnumTP, EnumP[]> getMapT() {
return mapT;
}
public Map<EnumTP, EnumP[]> getMapV() {
return mapV;
}
}
public interface PVBean {
public Map<EnumTP, EnumP[]> getMapP();
public Map<EnumTP, EnumP[]> getMapC();
public Map<EnumTP, EnumP[]> getMapT();
public Map<EnumTP, EnumP[]> getMapV();
}
EnumP
public enum EnumP {
P1(1),
P2(2);
private int p;
EnumP (int pAux) {
p = pAux;
}
public int getP() {
return p;
}
}
これらすべてで、次のことがわかります。
...
Caused by: javax.management.NotCompliantMBeanException: com.example.PPVMXBean: Method com.example.PPVMXBean.getLista has parameter or return type that cannot be translated into an open type
...
Caused by: java.lang.IllegalArgumentException: Method com.example.PPVMXBean.getLista has parameter or return type that cannot be translated into an open type
...
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: java.util.Map<com.example.PPV$EnumPV, com.examplePV>
...
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: class com.example.PV
...
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: java.lang.Class<?>
...
Caused by: javax.management.openmbean.OpenDataException: Cannot convert type: java.lang.Class<?>
私は何を間違っていますか?問題はどこだ?