dubbo接口调用造成的数据插入重复问题怎么解决
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,本篇内容主要讲解"dubbo接口调用造成的数据插入重复问题怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"dubbo接口调用造成的数据插入重复问题怎
千家信息网最后更新 2025年12月02日dubbo接口调用造成的数据插入重复问题怎么解决
本篇内容主要讲解"dubbo接口调用造成的数据插入重复问题怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"dubbo接口调用造成的数据插入重复问题怎么解决"吧!
大坑模拟复现
简单搭建一下dubbo环境 dubbo-service dubbo-service-sdk dubbo-service-web 1、新建module dubbo-service-sdk 定义服务接口
/** * @author v_liuwen * @date 2019-07-24 */public interface AsoService { void saveAso(AsoInfoDto asoInfoDto) throws InterruptedException;}/** * @author v_liuwen * @date 2019-07-24 */@Datapublic class AsoInfoDto implements Serializable { private static final long serialVersionUID = 1L; private Long asoId; private String asoNo; private String linkOrderNo; private Date createTime;}2、新建module dubbo-service 实现sdk的接口 依赖
top.qrainly dubbo-service-sdk 0.0.1-SNAPSHOT com.alibaba.boot dubbo-spring-boot-starter 0.2.0 org.apache.zookeeper zookeeper 3.4.13
/** * @author v_liuwen * @date 2019-07-24 */@Service(version = "1.0", interfaceClass = AsoService.class)@Component@Slf4jpublic class AsoServiceImpl implements AsoService { @Override public void saveAso(AsoInfoDto asoInfoDto) throws InterruptedException { //模拟阻塞超时 Thread.sleep(5000); log.info("插入售后单信息-->{}", JSONObject.toJSONString(asoInfoDto)); }}3、新建module dubbo-service-web 依赖
top.qrainly dubbo-service-sdk 0.0.1-SNAPSHOT com.alibaba.boot dubbo-spring-boot-starter 0.2.0 org.apache.zookeeper zookeeper 3.4.13
定义业务接口
/** * @author v_liuwen * @date 2019-07-24 */public interface CreateAsoService { void saveAso();}定义业务实现
/** * @author v_liuwen * @date 2019-07-24 */@Service@Slf4jpublic class CreateAsoServiceImpl implements CreateAsoService { @Reference(version = "1.0",check = false) private AsoService asoService; @Override public void saveAso() { AsoInfoDto mock = JMockData.mock(AsoInfoDto.class); try { asoService.saveAso(mock); } catch (InterruptedException e) { log.error("异常-->{}",e.getMessage()); } }}测试类
@RunWith(SpringRunner.class) @SpringBootTest public class DubboWebApplicationTests { @Autowired private CreateAsoService createAsoService; @Test public void contextLoads() { createAsoService.saveAso(); } }启动dubbo-service 运行测试方法 控制台输出
2019-07-25 21:03:24.655 INFO 6720 --- [:20880-thread-5] t.q.dubboservice.impl.AsoServiceImpl : 插入售后单信息-->{"asoId":8248,"asoNo":"aQg","createTime":2995060930132,"linkOrderNo":"zDv2"}2019-07-25 21:03:27.603 INFO 6720 --- [:20880-thread-6] t.q.dubboservice.impl.AsoServiceImpl : 插入售后单信息-->{"asoId":8248,"asoNo":"aQg","createTime":2995060930132,"linkOrderNo":"zDv2"}2019-07-25 21:03:30.616 INFO 6720 --- [:20880-thread-7] t.q.dubboservice.impl.AsoServiceImpl : 插入售后单信息-->{"asoId":8248,"asoNo":"aQg","createTime":2995060930132,"linkOrderNo":"zDv2"}完美复现问题 刚开始就怀疑是不是重试配置导致的,但是看了一下@Reference的retries默认也是0,也就是说不配置的话默认重试0次,也就是不重试。 那为啥还调了三次。于是尝试配置了重试次数为-1
@Reference(version = "1.0",retries = -1,check = false)
再次操作 控制台输出
到此,相信大家对"dubbo接口调用造成的数据插入重复问题怎么解决"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
接口
问题
信息
数据
配置
业务
也就是
内容
控制台
方法
学习
控制
测试
输出
实用
更深
也就是说
兴趣
再次
大坑
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络技术支持心得
学校网络安全月总结
网页文献原始数据库
查找数据库文件位置命令
服务器如何开放端口
智能微联网络技术专业
软件开发有所得税吗
赤峰清华万博网络技术学校
济宁车销管理软件开发
公众号平台软件开发合同
易宝网络技术
在哪里查药品市场数据库
微信提示数据库不可用
集团 北京 招聘 网络安全
jsp实现数据库管理
组态式软件开发
青浦区一站式网络技术服务有哪些
北京特色软件开发报价
电子标签数据库管理系统
华为云服务器登录快捷键
免费周易算命程序软件开发
dota数据库导入
建立数据库表是一个字段
lpddr软件开发
网络安全质量管理考核
h3c服务器管理接口
数据库中有几个概念模式
软件开发计划 模板
大唐官府服务器还是好多人
网络安全宣传开幕式讲话