读书人

转:解决客户端调用EJB远道接口传递基

发布时间: 2012-08-25 10:06:20 作者: rapoo

转:解决客户端调用EJB远程接口传递基本数据类型数组失败

最近做项目中发现一个问题,调用EJB远程接口时,传递的是基本数组类型如(int[] long[]等等...),发布运行后,产生如下错误。?
Specified calling class, [J could not be found for sun.misc.Launcher$AppClassLoader@1c78e57?
at org.jboss.ejb3.common.lang.SerializableMethod.getClassFromName(SerializableMethod.java:348)?
at org.jboss.ejb3.common.lang.SerializableMethod.toMethod(SerializableMethod.java:238)?
at org.jboss.ejb3.common.lang.SerializableMethod.toMethod(SerializableMethod.java:219)?
at org.jboss.ejb3.proxy.handler.ProxyInvocationHandlerBase.invoke(ProxyInvocationHandlerBase.java:236)?
at org.jboss.ejb3.proxy.handler.session.SessionSpecProxyInvocationHandlerBase.invoke(SessionSpecProxyInvocationHandlerBase.java:101)
at $Proxy7.register(Unknown Source)?

服务器使用的是JBOSS,客户端引用了一些JBOSS的客户端类库,其中包括了这个EJB3,导致使用类加载器时候出错了,修改方法如下:?
1.修改java运行时参数?
Java代码??转:解决客户端调用EJB远道接口传递基本数据类型数组失败

  1. -Dsun.lang.ClassLoader.allowArraySyntax=true??


2.修改JBoss中run.bat文件添加如下一行代码?
如果JOBSS中没有引用冲突的类库则此行不必添加?
Java代码??转:解决客户端调用EJB远道接口传递基本数据类型数组失败
  1. set?JAVA_OPTS=%JAVA_OPTS%?-Dprogram.name=%PROGNAME%?-Dsun.lang.ClassLoader.allowArraySyntax=true??

读书人网 >软件架构设计

热点推荐