2013-07-27 8 views
10

私のPlay Framework 2.0アプリケーションのapplication.confファイルで、autoReconnect = trueのmysql接続プロパティを設定しようとしています。しかし、それは私に次のエラーを与えている:Play Framework設定ファイルでmysql db urlのautoReconnectプロパティを設定するにはどうすればよいですか?

Caused by: java.sql.SQLException: The connection property 'autoReconnect' only accepts values of the form: 'true', 'false', 'yes' or 'no'. The value 'true?useUnicode=yes' is not in this set. 

これはapplication.confファイルに私の接続文字列です:

db.default.url="mysql://db_user:[email protected]/mydb?autoReconnect=true" 

私は私の中で、このエラーを取得していますので、私は、この接続パラメータを設定しようとしていますそれは長い間アイドル状態になった後にアプリケーション:

[error] c.j.b.ConnectionHandle - Database access problem. Killing off all remaining connections in the connection pool. SQL State = 08S01 
[error] application - Failed to login the user : guest 
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully 
received from the server was 153,398,761 milliseconds ago. 
The last packet sent successfully to the server was 153,398,762 milliseconds ago. is longer than the server configured value of 'wait_timeout'. 
You should consider either expiring and/or testing connection validity before use in your application, increasing the server configured values for client timeouts, or using the Connector/J connection property 'autoReconnect=true' to avoid this problem. 

私もここに(https://groups.google.com/forum/#!topic/play-framework/KzvbZ61j9Eo)に述べたように、この接続の問題を修正するには、これらのプレイデシベルパラメータを設定しようとしたが、それは、問題を解決しませんでした。

idleConnectionTestPeriod=10 
testConnectionOnCheckin=true 

この問題を解決するためのガイダンスがあります。

ありがとうございました。

+0

この作品はありますか?私は追加しましたか?autoReconnect = trueをjdbcのURLに追加しましたが、長すぎると同じエラーが発生し、自動的に再接続しません。 – Gavriel

答えて

9

は明らかに何かがあなたのURIに 'useUnicode =はい?' を付加されているので、あなたは、自動再の値が真実であることを、あなたを与えるだろう、これを解析する

mysql://db_user:[email protected]/mydb?autoReconnect=true?useUnicode=yes 

で終わる?useUnicode = yesの

を少し掘り下げてみてください。おそらく、接続プールやデータ抽象化レイヤーがそれを行っているかもしれません。

+2

ありがとうございました。問題の広告をjdbc:mysql://127.0.0.1:3306/Mysql?relaxAutoCommit = " true " '私のファイルにあります。ただそれを削除し、それは動作します。 – MokaT

5

接続パラメータは2つありますが、接続パラメータは&ではなく? :

mysql://db_user:[email protected]/mydb?autoReconnect=true&useUnicode=yes 
関連する問題