- 博客(5)
- 收藏
- 关注
原创 JAVA使用subList实现List的伪分页
@TOC使用前提:当列表页的数据量比较大,而数据源又不是数据库的时候(如调用第三方接口),无法支持分页.但是产品那边为了页面统一,用户体验,要实现分页功能的时候.话不多说,先上代码:/** * 处理列表分页 * @author zsc * @param list 分页的list * @param pageNum 页码 * @param pag...
2020-01-23 10:10:26
2017
1
原创 ThreadPoolExecutor单例线程池在业务中的应用
业务中的场景:接口对外开放,对方调接口,推数据过来,前期可能对方接入的业务方比较少,开启的线程也少,所以对我们这边的时间不做要求,所以我们接口是处理了大批数据入库,存云,处理下来整个代码走完要好几分钟,再给对方响应,但是前几天对方突然在微信群里限制了接口的超时时间,超时了之后对方就默认该批数据处理失败,会重新推送这一批数据,导致我们生产库中出现了重复推过来的数据.所以就需要开启另外一条线程执行业务...
2019-11-08 16:31:02
1553
4
原创 关于重用(复制)输入流inputStream
业务场景:根据url拿到输入流(url其实就是个下载链接),拿到输入流后要做两个操作:1.上传阿里云Oss 2.解析输入流读取每一行,转换成实体类存数据库问题解析:输入流在第一次被读取使用之后,流的数据就消耗完了,所以想要重用的话,需要将流数据存入容器,再从容器取出数据构造流.(这里好多同学容易误解成:流使用完了,会被关闭,其实这里打断点发现的是流使用完不会被关闭,而是里面的数据都被清空了,可...
2019-10-28 11:30:04
1089
原创 根据连续的日期集合,获取并截取连续的日期区间;获取最近12个月的日期的交易记录,如果没有补0处理
根据连续的日期集合,获取并截取连续的日期区间.业务中的场景是这样的:每一条记录对应一条交易记录,拿到每一条客户的交易日期,拼接成交易区间如:2018.01-2018-03,2018.05-2018.08这样的格式,中间的逗号是因为4月份该客户没有交易记录.刚开始看到需求时,感觉代码处理起来应该不算复杂,但是等写起来的时候才发现逻辑上的处理还是蛮麻烦的,...
2019-09-26 11:02:52
472
原创 springboot@Transactional事务不生效的几种解决方案
springboot事务不生效的几种解决方案最近在业务中遇到了很奇怪的场景,在加上 @Transactional注解后,插入2条数据,如果第二条出异常了,第一条不会回滚,排查了很久,上网也找资料看了很久,问题得以解决,总结了事务不生效的几点可能的原因:mysql的MyISAM引擎不支持回滚,如果需要自动回滚事务,需要将mysql的引擎设置成InnoDB;在业务中抛出异常时,本应该被事务管理...
2019-09-05 17:36:04
10950
8
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人