工作中遇到的问题

1.报表导出过慢的问题:
在一次报表导出数据的过程中,随着业务量的增加,导出一个报表的时间过长,达到了2至3s钟,业务已经开始烦躁,并且狂点导出按钮,导致服务器出现了一些问题。通过对导出数据分析,发现分为五块互相没有依赖的数据,可以采用多线程导出。问题在于使用runnable接口是无法控制多个线程数据是否都已就绪。这里用到callable接口,可以有运行结果的返回值(同时也可以抛出异常)。于是改写成使用FutureTask来实现多线程报表的导出,将以前的2至3S的导出时间缩小到0.5s左右。
2.跨系统数据迁移的问题:
在做数据迁移的时候,发现配置的事务总是不会滚。原因在于连接了两个数据源,而我配置的事务管理器是老库的数据库管理器,新库的操作没有能够回滚;通过对数据迁移过程分析,我这里的插入操作都是在新库数据源上操作的,而只有一个步骤在老库中操作,这里我将新数据库的事务管理器配置到当前service中,保证了数据迁移的完整性;后来得知这是一个分布式事务的问题,以后再来做更好的优化;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容