使用idea打包jar并运行跑1500万的数据

应用场景:

最近有一批数据需要处理,有1500万的数据量,对数据格式化后再入库,用tomcat跑完后发现时间太长了,代码优化了一大圈,时间还是比较长,处理1000条数据竟然需要3分钟,所以就换了个跑法,把web项目打包成jar,并开启十个main方法,也就是10个线程一起跑、经过本地的测试运行打包好的jar处理1000条数据仅需要20s。有图有真相呀。

解决方法:

【1】改版项目

(PS:以前只知道web项目只能在应用服务骑上跑,现在终于知道了直接运行jar就ok)

【2】打包项目

打包项目的方法有很多,本人也尝试了很多种方法,但是最后以idea打包的方式完成了打包,这个过程太艰辛了,感觉如此简单的东西,自己竟然搞了两天多,气愤。

具体的方法可以参考此篇博文https://www.cnblogs.com/chenchen-tester/p/7992357.html

不得不说网上有很多文章,但是能真正觉得问题还得自己去思考。

注意:打包的时候要把相应的依赖一起打包

【3】将jar放到服务器运行

命令:java -cp internal-question-convertor.jar com.eebbk.internal.question.convertor.exportjar.UploadData1 start

UploadData1 是运行main方法的类

【4】遇到的问题

(1)在整改项目的时候,mapper文件和java文件不放到一个目录下,识别不了相应的方法。重点是我在xml中配置好路径,但还不行(部署在tomcat上是可以的),放到同样的下面就行,太奇怪了,最后只能退儿求其次将他们放到了一起。

(2)将web项目打包jar的过程重点是将依赖一起打包。否则不能运行。打包好后会提示找不到Application.xml,解决方法见此博文https://blog.csdn.net/wukongjuan/article/details/53115345

(3)运行jar时偶尔回报如下错误

奇怪的是再次运行就好了,网上说是编码问题,但是改了没什么用。也有人说配置文件语法错误,但是检查了几遍就差自己手敲xml了,这个问题后期还得跟进。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值