Dubbo踩坑 -- 不能序列化HttpServletRequest

简介: 1. 报错这种错误在同一dubbo端口下个多个相同服务中是很难发现错误具体信息的,报错虽然也是fail invoke method但是没有详细信息(你靠猜是猜不出来哪里出问题的),所以最好暂时关闭其它服务,或者申请不同的dubbo端口测试,让错误更准确的暴露出来。

1. 报错

这种错误在同一dubbo端口下个多个相同服务中是很难发现错误具体信息的,报错虽然也是fail invoke method但是没有详细信息(你靠猜是猜不出来哪里出问题的),所以最好暂时关闭其它服务,或者申请不同的dubbo端口测试,让错误更准确的暴露出来。

1.1 Post请求报错:
img_6eced7a222df69fd0854c817c8a2f55f.png
1.2 控制台报错:
java.lang.IllegalStateException: 
Serialized class org.springframework.web.multipart.support
.StandardMultipartHttpServletRequest must implement java.io.Serializable

2. 原因

查找了一下这个类发现它确实是没有序列化

public class StandardMultipartHttpServletRequest extends AbstractMultipartHttpServletRequest {...}

3. 解决办法

之所以报这个错是因为我在web层将HttpServletRequest进行传值到注册的服务:


img_702e57994c64db0103083c7a9c9a6484.png

所以解决方法也很简单:

  1. 将整个业务处理都写在web服务中。(不规范)
  2. 将有用信息提取,转换成可序列化的类型。

其实在HttpServletRequest中对我有用的信息是获取到容器的一个路径,所以将其提取,并修改传参。


img_bdc644947eb8747f547955a25eaa92ca.png

大功告成。

相关文章
|
存储 Dubbo Java
dubbo 源码 v2.7 分析:通信过程及序列化协议
前面我们介绍了dubbo的核心机制,今天将开始分析远程调用流程。毕竟,作为一个rpc框架,远程调用是理论的核心内容。通过对dubbo相关实现的探究,深入了解rpc原理及可能的问题。
198 0
|
存储 Dubbo 前端开发
Beanutils造成dubbo反序列化失败?
今天下午,当我经过一个小时的奋”键“疾”码“,准备好好的审查一下(摸鱼)自己写的代码,经过一段时间审查(摸的差不多了,该下班了),得出一个结论我写的代码很优雅、精简。所以大手一挥提交代码,并在API管理系统上将xxx接口点了个完成。准备收拾东西走人了准点下班。然而事与愿违,没过多久前端大哥就@我了,说xxx接口有问题,麻烦处理一下。内心第一反应(你丫的参数传错了吧)卑微的我只能默默的回个,好的、麻烦把参数给我一下,我这边检查一下[微笑脸]。
|
Dubbo 应用服务中间件
Dubbo使用Hessian2序列化时针对Byte类型出现java.lang.ClassCastException
Dubbo使用Hessian2序列化时针对Byte类型出现java.lang.ClassCastException
190 0
|
Dubbo Java 应用服务中间件
关于在dubbo分布式种实体类Bean序列化产生的问题和内部类序列化的问题 UserServiceImpl must implement java.io.Serializable
今天在学习RPC dubbo的分布式 在跟老师学习的过程中,产生一个运行时报错,首先看项目结构和关键代码
309 0
关于在dubbo分布式种实体类Bean序列化产生的问题和内部类序列化的问题 UserServiceImpl must implement java.io.Serializable
|
机器学习/深度学习 设计模式 编解码
dubbo的编解码,序列化和通信
dubbo的编解码,序列化和通信
183 0
|
Dubbo Java 应用服务中间件
Dubbo3实践:基于 IDL 的 Triple 协议 Pojo 序列化兼容模式
这篇教程会通过从零构建一个简单的工程来演示如何基于 POJO 方式使用 Dubbo Triple, 在应用不改变已有接口定义的同时升级到 Triple 协议。**此模式下 Triple 使用方式与 Dubbo 协议一样。** 具体用例可以参考:[dubbo-samples-triple/pojo](https://github.com/apache/dubbo-samples/tree/mast
400 0
|
JSON Dubbo 网络协议
|
Dubbo 算法 Java
Dubbo的多种序列化算法(下)
Dubbo的多种序列化算法
199 0
Dubbo的多种序列化算法(下)
|
XML 存储 JSON
Dubbo 序列化协议 5 连问,你接得住不?
Dubbo 序列化协议 5 连问,你接得住不?
155 0
Dubbo 序列化协议 5 连问,你接得住不?
|
存储 JSON Dubbo
Dubbo的多种序列化算法(上)
Dubbo的多种序列化算法
504 0