我在 IBM BlueMix 中遇到了配置问题。我有 2 个项目正在运行,它们已经连接:
- 汤姆猫
- 清除数据库
在 TomCat 中部署了一个应用程序 (LifeRay),它似乎过度利用了提供的 ClearDB 连接池(4 个连接):
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: User 'xxxxx' has exceeded the 'max_user_connections' resource (current value: 4)
在我的应用程序中,我指定了一个限制(见最后一行):
liferay.home=/home/vcap/app/.java-buildpack/tomcat/webapps/ROOT/WEB-INF
jdbc.default.driverClassName=com.mysql.jdbc.Driver
jdbc.default.url=jdbc:mysql://us-cdbr-iron-east-04.cleardb.net/xxxxx?user=xxxxx&password=xxxxx
jdbc.default.username=xxxxx
jdbc.default.password=xxxxx
jdbc.default.maxPoolSize=4
连接建立成功;但是我最终遇到了导致Droplet崩溃的上述异常;这也阻止了我检查 TomCat 的 ROOT.xml:
App instance exited with guid c2ec8b5e-1b11-42f0-82e8-b58960598be6 payload: {"cc_partition"=>"default", "droplet"=>"c2ec8b5e-1b11-42f0-82e8-b58960598be6", "version"=>"184afb88-2499-49cd-9ed1-f0cb5d042607", "instance"=>"88d43ee42795422c97a6add2b453602a", "index"=>0, "reason"=>"CRASHED", "exit_status"=>148, "exit_description"=>"failed to accept connections within health check timeout", "crash_timestamp"=>1469615393}
由于配置文件似乎没有被使用,我假设 TomCat 被 CloudFoundy 错误配置。知道如何配置 TomCat 来限制连接池吗?
这是我自己的游乐场(PoC);性能无关紧要;BlueMix 似乎没有任何其他可用于测试的免费数据库,它提供了更多的连接。
非常感谢任何帮助!