- 博客(9)
- 收藏
- 关注
原创 数据库事务未提交完成又新开了线程跑任务,导致数据重复操作
问题:使用了Redis分布式锁,但是还是出现了并发的问题原因:数据库的事务提交结束晚于新线程的开始执行,代码里事务的提交放在了带有锁的方法的同级service解决:① 循环查询200条数据再做更新时,查询时增加id条件,每个循环的最后一个id作为下一次循环的条件 ② 将涉及到事务的方法抽到另外一个service文件,调用他,即下调一层 ③ 加上@Transactional(propagation = Propagation.REQUIRED, r...
2020-11-23 11:13:43 1049
原创 上线遇到问题-Redis分布式锁时效原因
背景:线上需要从业务那边获取运单数据(滚动一条一条发送,mq监听接收数据),我们这边需要将接收到的数据先持久化,然后finally里循环取出200条未做修改的数据传给第三方公司获取运单对应的高速站ETC发票信息问题:finally里的方法加了Redis分布式锁,但是线上发现有两个线程同时间在推送相同数据解决:初次以为是方法锁锁名不一致,导致没有锁住,方法锁是getClass.getName()保存的锁名,so改成了常量,上线,仍发现问题; 第二次认为是,数据库事务的提交还未完...
2020-11-20 16:14:23 163
原创 easyUI-使用tab分页导致CheckBox显示隐藏错乱
最近写了个可进行tab切换的页面,具体实现要求在state != 1的时候,隐藏该行的checkBox,但是出现了一个问题:该第二行显示CheckBox的,第二行没显示,第三行该隐藏的,却显示了。解决如下:<!-- HTML-tab页 --><div data-options="region:'center',border:false"> <div data-options="border:true,fit:true" id="dataTabs">.
2020-05-26 15:47:19 161
原创 表格固定第一行,且增加横向与竖向滚动条
<!DOCTYPE html><html lang="en"><head> <title>表格固定第一行,且增加横向与竖向滚动条</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style type="text/css">.
2020-05-21 14:29:38 549
原创 Double转BigDecimal精度问题
一、输入:输出:使用new BigDecimal(),出现精度问题二、输入:输出:new BigDecimal(),先将Double转为String,解决三、输入:输出:使用 BigDecimal.valueOf(),无精度问题总结:为解决Double做运算时会出现的进度问题,将Double转为BigDecimal再做运算,转换的方...
2020-01-22 09:28:12 1036
原创 java实现多条件分类汇总(Lambda新特性实现)
//需要分类的数据List<Dto> list;//分类条件Dto中的参数merchantId、payAccountName、payAccountNo、subsidiaryIdlist.stream().collect(Collectors.groupingBy(e->e.getMerchantId()+"-"+e.getPayAccountName() +"-"+...
2020-01-20 14:43:18 1447
原创 全选操作 easyui datagrid 让某行复选框不能选且getChecked获取不到该行值
onLoadSuccess: function (data) {//数据加载前,将所有符合条件的checkbox置灰//但是此置灰,在点击全选,调用getChecked方法时,仍可以获取到置灰的值//所以需要在全选的时候做取消选择此行 if(data){ $.each(data.rows, function(index, item){ if(...
2020-01-20 14:32:18 589
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人