【发布时间】:2013-07-27 21:14:41
【问题描述】:
我正在尝试在我的 Play Framework 2.0 应用程序的 application.conf 文件中设置 autoReconnect=true mysql 连接属性。但它给了我以下错误:
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:db_user@localhost/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.
我还尝试设置这些 play db 参数来解决此处提到的此连接问题 (https://groups.google.com/forum/#!topic/play-framework/KzvbZ61j9Eo),但它并没有解决问题。
idleConnectionTestPeriod=10
testConnectionOnCheckin=true
任何解决此问题的指导将不胜感激。
谢谢。
【问题讨论】:
-
这行得通吗?我将 ?autoReconnect=true 添加到 jdbc url 但是当我等待太久时它仍然会收到相同的错误,它不会自动重新连接
标签: mysql jdbc playframework-2.0