数据新增后,线程去查询出现的问题

事情是这样的:我的业务要求传入一个json去解析然后插入几张表中,并且需要生成pdf文件;

由于生成pdf时间较长我决定采用线程的形式进行单独生成不会影响主业务的返回,并且也在业务允许。
进入方法解析完json组装车辆信息然后进行了车辆信息保存的操作

在这里插入图片描述
接下来是一些其他表的插入,在方法最后把生成pdf需要的信息放入到队列中
在这里插入图片描述
我们在走到线程里面查看具体实现方法
在这里插入图片描述
在没修改之前传入的是车辆id然后根据车辆id去获取车辆信息
在这里插入图片描述
修改前通过传入的车辆id去数据库获取车辆信息,但就是这一步容易出现问题,输入已经调用的车辆的插入方法但事物有可能并没有完全完成线程这时就开始了调用查询方法所以这个时候有几率返回空的情况;

解决方法

方法一:不通过数据库查询,通过方法传值的方式获取车辆信息;
方法二:在调用失败后延迟一段时间再重新调用,具体延迟和重试看自己业务要求;
在这里插入图片描述

总结

做技术任重而道远,工作中总会遇到各种挑战你知识面的问题,挑战的同时也是对自身的一种提升

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值