dubbo hessian 的java.lang.Throwable.cause: 'java.net.URISyntaxException' could not be instantiated异常


在请求dubbo服务的时候有时抛出异常:Caused by: com.alibaba.dubbo.remoting.RemotingException: com.alibaba.com.caucho.hessian.io.HessianFieldException:

 java.lang.Throwable.cause: 'java.net.URISyntaxException' could not be instantiated

com.alibaba.com.caucho.hessian.io.HessianFieldException: java.lang.Throwable.cause: 'java.net.URISyntaxException' 

could not be instantiated。

据查此异常估计是在dubbo实例化java.net.URISyntaxException类时其uri的格式不符合http://的格式。


也就是业务系统抛出了java.net.URISyntaxException异常,当hessian去序列化java.net.URISyntaxException异常的时候,由于异常的参数信息uri的格式不符合http://格式,所以就导致此异常不能被正常序列化,所以dubbo抛出了HessianFieldException。


解决方法就是查看业务系统为什么会抛出java.net.URISyntaxException异常来给服务调用方,而且此异常封装的uri的信息不符合http://格式。由此可知业务系统的异常就是某个httpClient链接的时候uri配置错误导致的。

还有一个值得深思的是业务系统为什么会抛出这等异常,这些异常应该自己吞掉处理的。


你可能感兴趣的:(dubbo异常)