首先,先说一下项目背景,小姐姐目前在做银行的项目,股票投资平台, 由于项目代码都是十几年的老代码, 不管从性能还是优化方面已经大大落后, 因此公司希望项目可以重新搭建上层业务框架。
看中SpringBoot的灵活性和轻量级,因此选择新项目框架为SpringBoot。
其实由于银行的大数据, 毕竟用户数据和业务数据还有产品数据是非常庞大的,所以选择将业务所需数据生成文件在不同的API之间传送, 这样对比数据肯定更安全,而且比较可靠。
目前就是针对这种文件的批处理方式采用的新框架springBatch;
(因为工作代码不到外泄的原因我就不能给大家晒源码啦)
先说遇到的坑吧:
公司提供了springbatch框架,其实就是开源的springbatch框架都外包了一层而已:
1;启动了时候启动在不停的跑JavaBean的xml,一直启动超过30分钟仍然不能启动成功:后来发现由于银行数据量实在太过庞大, SpringBoot框架的server承受不住这么大的数据xml加载,导致项目跑死。
解决方案:将老代码(就是一堆的JavaBean对象的xml)中的javaBean构建成新项目,覆盖掉所有的JavaBean的xml文件,并且配置在构建路径的最上层(注意:新的JavaBean对象的路径务必和老代码保持一致才能将xml覆盖)
就是 将新构建的项目放置在classpath最上层构建。
2,仍然启动不起来,报了java.lang.OutOfMemoryError: Java heap space
这个错误是内存溢出,首先怀疑就是堆溢出 , 之前记得eclipse的ini里面有相关配置:
max改成了2048m,依然报了java.lang.OutOfMemoryError: Java heap space
查了之后发现ini文件中的参数配置:推荐一篇好博客http://www.blogjava.net/landon/archive/2010/04/26/319402.html
说的比较详细, 其实就是JVM 的内存配置, 但是并不能够保证项目构建的时候得到全部资源,因此尝试在eclipse中配置
果然,启动大概80秒之后, springboot启动成功!