我在 Hibernate 会话中遇到内存泄漏。
一个长时间运行的线程不断地加载和更新数据。虽然线程定期调用entityManager.clear()
我观察到:
1.)Session
规模增长(自应用开始以来的线性增长)
2.) 执行时间的增长(自应用程序开始以来呈指数增长)
唯一似乎有帮助的是close()
实体管理器并重新打开它。我在几个未连接的应用程序中看到了这种行为,一些使用 spring,一些没有,一些使用 jpa-frontend,一些本地使用 hibernate。
很奇怪:虽然我从来没有遇到过没有这个问题的休眠应用程序,但在互联网上搜索却是一片空白。我(和其他数十名开发人员)做错了什么?