我在 heroku 上有一个使用 play 的应用程序。它在很长一段时间内都运行良好,但最近我开始得到这个:
Caused by: java.sql.SQLException: Timed out waiting for a free available connection.
at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:169) ~[hibernate-core-4.1.9.Final.jar:4.1.9.Final]
at com.jolbox.bonecp.BoneCP.getConnection(BoneCP.java:503) ~[bonecp-0.7.1.RELEASE.jar:0.7.1.RELEASE]
这是由
org.postgresql.util.PSQLException: FATAL: too many connections for role "ejmatdbwywaugk"
现在这很明显是一个连接泄漏,除了我使用的是 JPA.em()。Play 示例永远不会关闭这样获得的实体管理器。我尝试关闭它,但随后应用程序爆炸说实体管理器已关闭。
有任何想法吗?