| 发表于:2007-08-21 09:35:12 楼主 |
我用的是jboss4.2.0cr2,jdk6.0,ejb3.0, 运行代码后出现以下问题, java.lang.reflect.undeclaredthrowableexception at $proxy0.getconfig(unknown source) at com.tekview.transview.common.oam.configutil.getconfig(configutil.java:45) at com.tekview.transview.sbi.sessionmanager.sbicontext.loadsettings(sbicontext.java:191) at com.tekview.transview.sbi.sessionmanager.sbicontext.refreshsbisetting(sbicontext.java:237) at com.tekview.transview.sbi.sessionmanager.sbicontext.reset(sbicontext.java:145) at com.tekview.transview.sbi.sessionmanager.sbimain.main(sbimain.java:60) caused by: java.lang.reflect.invocationtargetexception at sun.reflect.nativemethodaccessorimpl.invoke0(native method) at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39) at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25) at java.lang.reflect.method.invoke(method.java:597) at org.jboss.remoting.invokerregistry.loadclientinvoker(invokerregistry.java:424) at org.jboss.remoting.invokerregistry.createclientinvoker(invokerregistry.java:324) at org.jboss.remoting.client.connect(client.java:379) at org.jboss.aspects.remoting.invokeremoteinterceptor.invoke(invokeremoteinterceptor.java:61) at org.jboss.aop.joinpoint.methodinvocation.invokenext(methodinvocation.java:101) at org.jboss.aspects.tx.clienttxpropagationinterceptor.invoke(clienttxpropagationinterceptor.java:61) at org.jboss.aop.joinpoint.methodinvocation.invokenext(methodinvocation.java:101) at org.jboss.aspects.security.securityclientinterceptor.invoke(securityclientinterceptor.java:53) at org.jboss.aop.joinpoint.methodinvocation.invokenext(methodinvocation.java:101) at org.jboss.ejb3.remoting.islocalinterceptor.invoke(islocalinterceptor.java:72) at org.jboss.aop.joinpoint.methodinvocation.invokenext(methodinvocation.java:101) at org.jboss.ejb3.stateless.statelessremoteproxy.invoke(statelessremoteproxy.java:103) ... 6 more caused by: java.lang.nosuchmethoderror: org.jboss.util.propertyeditor.propertyeditors.mapjavabeanproperties(ljava/lang/object;ljava/util/properties;z)v at org.jboss.remoting.transport.socket.microsocketclientinvoker.setup(microsocketclientinvoker.java:161) at org.jboss.remoting.transport.socket.microsocketclientinvoker. <init> (microsocketclientinvoker.java:144) at org.jboss.remoting.transport.socket.socketclientinvoker. <init> (socketclientinvoker.java:68) at org.jboss.remoting.transport.socket.transportclientfactory.createclientinvoker(transportclientfactory.java:39) ............................... 我在网上搜了一下,说这是jboss-remoting的一个bug 下载以下jar http://repository.jboss.com/jboss/remoting/1.4.6.ga/lib/jboss-remoting.jar 复盖$jboss_home/server/default/lib中相应的文件就ok了 我按照上面说的办法覆盖了那个文件后,出现了以下问题, javax.naming.communicationexception [root exception is java.io.invalidclassexception: org.jboss.remoting.invokerlocator; local class incompatible: stream classdesc serialversionuid = -2909329895029296248, local class serialversionuid = -4977622166779282521] at org.jnp.interfaces.namingcontext.lookup(namingcontext.java:722) at org.jnp.interfaces.namingcontext.lookup(namingcontext.java:587) at javax.naming.initialcontext.lookup(initialcontext.java:392) at com.tekview.transview.common.util.ejblocator.lookupremoteejbbyclassname(ejblocator.java:205) at com.tekview.transview.common.oam.configutil.gettekviewadmin(configutil.java:31) at com.tekview.transview.common.oam.configutil.getconfig(configutil.java:43) at com.tekview.transview.sbi.sessionmanager.sbicontext.loadsettings(sbicontext.java:191) at com.tekview.transview.sbi.sessionmanager.sbicontext.refreshsbisetting(sbicontext.java:237) at com.tekview.transview.sbi.sessionmanager.sbicontext.reset(sbicontext.java:145) at com.tekview.transview.sbi.sessionmanager.sbimain.main(sbimain.java:60) caused by: java.io.invalidclassexception: org.jboss.remoting.invokerlocator; local class incompatible: stream classdesc serialversionuid = -2909329895029296248, local class serialversionuid = -4977622166779282521 at java.io.objectstreamclass.initnonproxy(objectstreamclass.java:562) at java.io.objectinputstream.readnonproxydesc(objectinputstream.java:1583) at java.io.objectinputstream.readclassdesc(objectinputstream.java:1496) at java.io.objectinputstream.readordinaryobject(objectinputstream.java:1732) at java.io.objectinputstream.readobject0(objectinputstream.java:1329) at java.io.objectinputstream.defaultreadfields(objectinputstream.java:1945) at java.io.objectinputstream.readserialdata(objectinputstream.java:1869) at java.io.objectinputstream.readordinaryobject(objectinputstream.java:1753) at java.io.objectinputstream.readobject0(objectinputstream.java:1329) at java.io.objectinputstream.defaultreadfields(objectinputstream.java:1945) at java.io.objectinputstream.readserialdata(objectinputstream.java:1869) at java.io.objectinputstream.readordinaryobject(objectinputstream.java:1753) at java.io.objectinputstream.readobject0(objectinputstream.java:1329) at java.io.objectinputstream.readobject(objectinputstream.java:351) at java.rmi.marshalledobject.get(marshalledobject.java:142) at org.jnp.interfaces.marshalledvaluepair.get(marshalledvaluepair.java:72) at org.jnp.interfaces.namingcontext.lookup(namingcontext.java:652) 同样在网上搜了一下,原文是这么说的, "genericejbinterceptor應當是jboss內部的物件, 而不是你創造的, 若小弟沒判斷錯誤的話, 很可能是你在client端使用的jbossall-client.jar這類的 driver無法和server端匹配所造成的." (http://www.javaworld.com.tw/jute/post/view?bid=7&id=71988&sty=3&age=0&tpg=1&ppg=1#71988和http://www.javaeye.com/post/316349) 本人初学,有些愚笨,不知道上面的解决方案该怎么操作,请各位指教啊~ 另外,我也不知道前面给出的解决办法是不是有效,所以更希望各位能给出真的有效的解决方法,多谢啦~ |
|
|
|
|