hessian ClassCastException

来源:互联网 发布:软件项目管理流程图 编辑:程序博客网 时间:2024/05/21 15:20

前两天遇到一闹心的错误,以后虽然也应该遇不到了,但还是记录下。

前言:

B项目上线,测试发现A项目与B项目交互有一个接口出问题(A项目没动过)。test,uat环境都无此问题,最后不得已回退B项目,

还是不行,这就尴尬了。最后各种百度,发现该问题是偶然性的,记录下如有遇到同样问题的兄弟们可直接解决。

错误信息:

 java.lang.ClassCastException@5fc5a527
java.lang.IllegalArgumentException: java.lang.ClassCastException@5fc5a527
at sun.reflect.GeneratedMethodAccessor217.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:302)
at com.caucho.hessian.server.HessianSkeleton.invoke(HessianSkeleton.java:217)
at org.springframework.remoting.caucho.HessianExporter.doInvoke(HessianExporter.java:198)
at org.springframework.remoting.caucho.HessianExporter.invoke(HessianExporter.java:118)
at org.springframework.remoting.caucho.HessianServiceExporter.handleRequest(HessianServiceExporter.java:66)
at org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter.handle(HttpRequestHandlerAdapter.java:49)
--
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

解决办法:

调用接口配置中增加个属性 

<!--新增overloadEnabled属性,并把它的值设置为true,默认是false,则Hessian就能支持方法的重载了。-->

<property name="overloadEnabled" value="true" />