play を使用する heroku のアプリがあります。長い間問題なく動作していましたが、最近、次のようになりました。
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 の例では、このようにして取得したエンティティ マネージャーを閉じません。閉じようとしましたが、エンティティ マネージャーが閉じていると言ってアプリが爆発します。
何か案は?