dubbo接口调用造成的数据插入重复问题怎么解决
发表于:2025-01-24 作者:千家信息网编辑
千家信息网最后更新 2025年01月24日,本篇内容主要讲解"dubbo接口调用造成的数据插入重复问题怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"dubbo接口调用造成的数据插入重复问题怎
千家信息网最后更新 2025年01月24日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安全错误
数据库的锁怎样保障安全
西安互联网营销西安搜推宝科技
联想服务器 万全
苹果4sid无法连接到服务器
湖南高速公路数据库
上海驿游网络技术
网络安全法 意见
服务器单根内存只认一半
警务网络安全教育
网络安全法二十七银行卡
服务器内存报错提示
南关区网络技术诚信经营
搞网络安全好还是软件开发好
uml数据库模型
福建特种网络技术工程
公安网络安全工作情况报告
第三次科技改革互联网
网络安全执法整改报告
数据库管理专业英语
oppo登录服务器超时
星际争霸服务器强制结束
查看服务器主板型号怎么查询
建立数据库索引的目的是什么
网站 网络安全证书过期
周村专业软件开发公司
猫王深圳互联网科技公司是中介吗
物联网app软件开发步骤
通信工程软件开发干什么
月铭北京网络技术有限公司
网络安全主要危害
深圳大柏地网络技术有限公司