2016-07-27 6 views
0

IBM BlueMix内の設定に問題があります。IBM BlueMix:DB接続のTomCat ROOT.xmlの調整

  1. Tomcatアプリケーションが(ClearDBの設けられた接続プールを、利用する上に見える(Liferayの)配備されているTomcatの内
  2. ClearDB

:私はすでに接続されている実行中の2つの項目を有します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