簡體   English   中英

mbeanServer.invoke中的參數類型不匹配

[英]argument type mismatch in mbeanServer.invoke

好吧 我部署了一個戰爭,通過Spring的MBeanExporter和注釋公開了一個MBean。 我部署了另一個戰爭應用程序,該應用程序使用一些代碼與mbean進行通信。 我在從該客戶端代碼調用mbean上的函數時遇到問題。

嘗試調用操作getPermissions時,RequiredModelMBean中發生RuntimeException。

mbean方法的簽名是Collection getPermissions(GrantedAuthority角色)。

我用來調用的代碼是

Object[] params = {role}; //role is passed in as a GrantedAuthorityImpl (implements GrantedAuthority)
String[] signature = {"org.springframework.security.core.authority.GrantedAuthority"};

mbeanServer.invoke(new ObjectName(mbeanName), "getPermissions", params, signature);

可能是什么問題,或者我應該看什么?

javax.management.RuntimeOperationsException: RuntimeException occurred in RequiredModelMBean while trying to invoke operation getPermissions
 javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1080)
 javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:955)
 org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean.java:90)
 org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
 org.jboss.mx.modelmbean.RequiredModelMBeanInvoker.invoke(RequiredModelMBeanInvoker.java:127)
 org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
 xxx.MBeanPermissionMapLookup.getPermissions(MBeanPermissionMapLookup.java:31)
 xxx.MBeanPermissionMapLookup$$FastClassByCGLIB$$667f3fad.invoke(<generated>) ...


root cause: java.lang.IllegalArgumentException: argument type mismatch
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    sun.reflect.misc.Trampoline.invoke(MethodUtil.java:37)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:244)
    javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1074)
    javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:955)
    org.springframework.jmx.export.SpringModelMBean.invoke(SpringModelMBean.java:90)
    org.jboss.mx.server.RawDynamicInvoker.invoke(RawDynamicInvoker.java:164)
    org.jboss.mx.modelmbean.RequiredModelMBeanInvoker.invoke(RequiredModelMBeanInvoker.java:127)
    org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:668)
    xxx.MBeanPermissionMapLookup.getPermissions(MBeanPermissionMapLookup.java:31)

使用Spring 3.0.4,Spring Security 3.0.3,jboss 5.1.0,java jdk 1.6.0-17。

有問題的類不能跨越類加載器邊界,這是參數類型不匹配,因為類加載器是jboss內部類型的一部分。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM