首先,先說一下項目背景,小姐姐目前在做銀行的項目,股票投資平台, 由於項目代碼都是十幾年的老代碼, 不管從性能還是優化方面已經大大落后, 因此公司希望項目可以重新搭建上層業務框架。
看中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啟動成功!
