2016-07-27 48 views
0

我正面臨IBM BlueMix中的配置問題。我有2個項目在運行,這是已經連接:IBM BlueMix:針對數據庫連接的TomCat ROOT.xml調整

  1. Tomcat的
  2. ClearDB

在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 

連接成功建立;然而,我最終在提到的例外導致液滴崩潰;這也使我檢查的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似乎沒有任何其他可用於測試的免費數據庫,它提供了更多的連接。

任何幫助,高度讚賞!

回答

0

的連接池可以通過portal-ext.properties進行配置:

# Connection Pool (Default: C3PO) 
jdbc.default.liferay.pool.provider=c3po 
jdbc.default.acquireIncrement=5 
jdbc.default.acquireRetryAttempts=3 
jdbc.default.acquireRetryDelay=1000 

jdbc.default.connectionCustomizerClassName=com.liferay.portal.dao.jdbc.pool.c3p0.PortalConnectionCustomizer 
jdbc.default.idleConnectionTestPeriod=3600 
jdbc.default.maxIdleTime=3600 
jdbc.default.maxPoolSize=20 
jdbc.default.minPoolSize=5 
jdbc.default.initialPoolSize=10 
jdbc.default.numHelperThreads=10 
#jdbc.default.transactionIsolation=1