JMX短型参数

时间:2014-07-01 13:46:45

标签: java jmx

请问您如何通过接受短参数的JMX调用方法?我有返回String的方法并接受'short'基本类型的数量。当我尝试通过JMX调用此方法时,它在异常时失败:

try {
    String opSig[] = {"short"};
    Object opParams[] = {10};
    result = (String) mbeanServer.invoke(new ObjectName("-OMITTED-"), "getQueue", opParams, opSig);

...

代码在异常时失败:

...
javax.management.MBeanException 
...
Caused by: java.lang.IllegalArgumentException: argument type mismatch

非常感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:1)

通过将值的数组类型更改为" Short"

来解决
try {
    String opSig[] = {"short"};
    Short opParams[] = {10};
    result = (String) mbeanServer.invoke(new ObjectName("-OMITTED-"), "getQueue", opParams, opSig);

或者:

try {
    String opSig[] = {"short"};
    Object opParams[] = {new Short("10")};
    result = (String) mbeanServer.invoke(new ObjectName("-OMITTED-"), "getQueue", opParams, opSig);