タイムアウト:プールが空です。 10秒で接続を取得できません。使用できません[サイズ:7;ビジー:0;アイドル:0; lastwait:10000]Grails Gorm Timeout:プールが空です。接続を取得できません。
上記のエラーは、長い時間が経過してからアプリケーションが起動することになります。以下は
私のGORM DB構成です:
propertyShortSlave:
pooled: true
jmxExport: true
driverClassName: com.mysql.jdbc.Driver
url: url
username: uuuuuu
password: pppppp
dbCreate: validate
readOnly: true
dialect: org.hibernate.dialect.MySQL5InnoDBDialect
properties:
initialSize: 5
maxActive: 7
minIdle: 5
validationQuery: SELECT 1
maxIdle: 7
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
jdbcInterceptors: "ConnectionState;StatementCache(max=200)"
私はそれを解決することができますか?
は、あなたがURLに真の再接続=を試してみましたか? url = "jdbc:mysql:// localhost:3306/test?autoReconnect = true"あなたがURLを定義していないので、言うことは難しいです... – Vahid
私はこれを試しましたが、validationQueryプロパティはありません。その場合、接続はすぐに終了します。しかし、私はautoReconnectとvalidationQueryを試しました。 –
https://github.com/vahidhedayati/kchat/blob/master/grails-app/conf/kchatConfig.groovy#L13-L31この設定は本番環境では問題なしで実行していました。validationQuery = "接続を開いたままにするにはSELECT 1を設定する必要があります。 – Vahid