我正在开发一个弹簧批量应用程序(具有2 GB内存)并尝试处理数据(使用选择查询以在处理时获取数据)并在postgres DB中插入大约100万个已处理的记录。我在这个项目中使用Spring Data JPA。但Spring JPA在处理这些记录时消耗了太多内存,最后我出现了内存异常。我怀疑创建的实体太多而未被清除。因此我尝试在某些数据库调用后清除entityManager,但没有帮助。如何通过JPA减少内存消耗?任何减少内存消耗的建议都将受到高度赞赏。
可能的原因
server.tomcat.max-threads=5
这将在application.properties中将HTTP请求处理程序线程的数量限制为1(默认值为50)
application.properties
有关详细信息,请参阅R1 R2 R3