dubbo的默认2次调用,导致数据不一致

news/2024/11/28 21:46:21/

今天在排查实习生写的代码,发现dubbo的服务被调用了2次,第一次把数据给请掉了,但是没有返回成功,第二次直接提示数据不存在,导致服务不能用。

基于这个场景,以为是调用时间太长,触发了重复调用

@Service(version = "${provider.service.version}", timeout = 10000, retries = 0)

就在服务提供上加了10s的延迟,不重复调用

这次报错了:

大概如下:

    "result": "Failed to invoke the method loginAction in the service com.coolwell.vehicle.remote.monitor.contract.contract.LoginService. Tried 1 times of the providers [] (1/1) from the registry tsp-zookeeper:2181 on the consumer x using the dubbo version 2.7.6. Last error is: Failed to invoke remote method: loginAction, provider: dubbo://x:20990/com.coolwell.vehicle.remote.monitor.contract.contract.LoginService?anyhost=true&application=coocaa-tsp-web&check=false&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&init=false&interface=com.coolwell.vehicle.remote.monitor.contract.contract.LoginService&methods=getCurrentLoginUser,loginAction,checkToken,randomImage,loginOutAction&pid=1&qos.enable=false&register.ip=tsp-zookeeper&release=2.7.6&remote.application=coolwell-remote-monitor&retries=0&revision=1.0.0&side=consumer&sticky=false&timeout=30000&timestamp=1686715947949&version=1.0.0, cause: org.apache.dubbo.remoting.RemotingException: Failed to send response: Response [id=408, version=2.0.2, status=20, event=false, error=null, result=AppResponse [value=com.coocaa.tsp.common.utils.ApiMessage@94bf6b1, exception=null]], cause: java.lang.RuntimeException: Serialized class com.coolwell.vehicle.remote.monitor.contract.entity.login.LoginUser must implement java.io.Serializable\n Java field: private java.lang.Object com.coocaa.tsp.common.utils.ApiMessage.result\njava.lang.RuntimeException: Serialized class com.coolwell.vehicle.remote.monitor.contract.entity.login.LoginUser must implement java.io.Serializable\n Java field: private java.lang.Object com.coocaa.tsp.common.utils.ApiMessage.result\n\tat com.alibaba.com.caucho.hessian.io.JavaSerializer$FieldSerializer.serialize(JavaSerializer.java:304)\n\tat 

看到这个报错,一眼可以看出来,是dubbo调用的时候就报错了:

 com.coolwell.vehicle.remote.monitor.contract.entity.login.LoginUser must implement java.io.Serializable

这短话,定位到问题,应该是定义了实体类,但是没有序列化,提示必须要序列化

就修改一下

public class LoginUser implements Serializable {private static final long serialVersionUID = -1L;

重启服务,发现正常使用,在实体类中,如果涉及到传输,io还是要做序列化的。

 


http://www.ppmy.cn/news/382901.html

相关文章

冰点文库下载器,免积分下载百度文库文档

1、软件介绍: 冰点下载器是一款免积分免登陆文档下载神器,无需积分就可以自由下载百度、豆丁、丁香、MBALib、道客巴巴、Book118等文库文档,无需注册和登录。下载的文档最终生成高清晰度的pdf格式文档。 2、功能特色: 1. 支持百度…

冰点下载器手机版apk_冰点文库下载器app下载

学习文档,资料,让你无需帐号和积分就能下载百度文库和豆丁文库的文档资料,让知识随身,阅读随心。冰点文库下载器安卓手机版拥有海量的文档均免费为用户提供,支持多种文件的导入,SD卡、声音传输、PC端一键文…

冰点下载器手机版apk_冰点文库下载器

文库下载器完全免费并且支持批量下载和断点续传,下载操作简便快捷,常年使用文库的用户想必会很喜欢。需要的朋友快来下载吧! 相似软件 版本说明 软件地址3.6.7 最新版 查看 8.5 官方版 查看 1.9 电脑版 查看 3.3.11.0 标准版 查看 3.2.4 最新…

用冰点文库下载百度文库里面的内容

1.将冰点文库的安装包解压到硬盘中,最好不要带中文路径,比如我解压到C盘中的根目录文件夹C:\SoftwareBreakAlready下,如图1所示。 图1 安装包 2.双击解压文件中的Fish.exe,如图2所示,运行冰点文库下载器,运…

解决冰点文库不能使用问题!冰点文库下载器最新版

百度文库文档免费下载PDF版,老版本不能用了,百度云盘链接: https://pan.baidu.com/s/1t6owKPMX966FH7uDm2b6GQ 密码: 3mgc

冰点文库下载器的使用

冰点文库下载器的使用 一、工具介绍: 无需积分就可以自由下载百度、豆丁、丁香、MBALib、Book118等文库文档,无需注册和登录。下载的文档最终生成高清晰度的pdf格式文档。 1. 支持百度、豆丁、丁香、畅享、MBALib、Book118等文库文档。 2. 无需…

解决冰点文库下载失败

多次搜索到百,度文档,下载的时候总是下载失败或网络连接不好,其实解决方法很简单 :把连接网址的https改成http,把html后面的都去掉。 新的百,度,文,库BUG有可能有些修复了&#xf…

冰点文库下载器V3.2.4

原文地址::http://www.bingdian001.com/?p30 最新版本:3.2.4 下载地址: 百度网盘下载霏凡下载 中关村在线下载 最新7月12日调试版本下载: 百度网盘下载 无需积分就可以自由下载百度、豆丁、丁香、MBALib、道客巴巴、Book118等文库文档&…