我在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示例永远不会关闭这样获得的实体管理器。我尝试关闭它,但随后应用程序爆炸,说实体管理器已关闭。
有任何想法吗?
尝试使用BoneCP 0.8.0-rc1并使用以下配置:
db.default.idleMaxAge=10 minutes
db.default.idleConnectionTestPeriod=30 seconds
db.default.connectionTimeout=20 second
db.default.connectionTestStatement="SELECT 1"
db.default.maxConnectionAge=30 minutes
问题内容: 对于J2EE容器 之外 的Java应用程序,哪个连接池库是最好的? 我听说c3p0已经过时了。 雅加达的公共池库已不再开发 因此,我只剩下BoneCP和DBPool了。从我可以看出,两者活动有限。我可以看到的主要区别是性能,BoneCP似乎可以与之抗衡。但是,文档非常薄弱。 您在现实世界中使用了哪个数据库池库,为什么?好的和坏的是什么? 问题答案: 在工作中,我们使用了BoneCP(作
问题内容: 我刚刚开始使用BoneCP,这是我第一次使用连接池。对于应该如何使用它,我有些困惑。当前,我将BoneCP对象保存为静态变量,因此可以在不同的连接之间使用它。 连接完成后,用关闭。 我应该这样做,还是不应该关闭它以使其能够被池重用? 这是我当前获得连接的实现: 这似乎是正确的,还是我误解了我应该如何使用BoneCP? 问题答案: 除了使您的私有静态最终变量和将init更改为静态块(或者
BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K(运行时需要slf4j和guava的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。 在线API doc:http://www.ostools.net/apidocs/apidoc?api=bonecp
我是编程新手,我正在学习《变得吝啬》这本书。不幸的是,关于MONGODB和HEROKU的部分使用了MLAB,我想使用AtlasMongoDB。所以,我连接数据库的代码是 当我在本地启动代码声明过程时。环境。NODE\u ENV和MONGODB\u URI,应用程序与数据库连接良好(代码如下) 但是,当我将应用程序部署到Heroku中时,我收到了以下错误 我在Heroku中声明了这两个变量(node
我无法连接到heroku数据库,当我将我的应用程序部署到heroku时,我在日志中得到了以下内容: [localhost-startStop-1]警告org.springframework.web.context.support.annotationConfigWebApplicationContext-上下文初始化过程中遇到的异常-取消刷新尝试:org.springframework.beans
我正在学习如何使用Scala和Play 2 Framemork构建应用程序。我使用activator工具创建了一个新项目,它基于当前的“play scala intro”模板。 该模板有一个使用Play-Slick 1.0管理依赖项的示例应用程序,并配置了一个H2 DB,可以正常工作。 当我尝试更改为Postgres DB时,我遇到了麻烦。我得到一个错误500,告诉我: “无法连接到数据库[默认设