【问题标题】:How to set autoReconnect property for mysql db url in Play Framework configuration file?如何在 Play Framework 配置文件中为 mysql db url 设置 autoReconnect 属性?
【发布时间】: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


【解决方案1】:

显然有些东西在你的 URI 上附加了 '?useUnicode=yes',所以你最终得到了

mysql://db_user:db_user@localhost/mydb?autoReconnect=true&useUnicode=yes

解析这会让您知道 autoReconnect 的值为 true?useUnicode=yes

深入挖掘一下,也许您的连接池或数据抽象层正在这样做。

【讨论】:

  • 谢谢,我的文件中有编码问题广告 jdbc:mysql://127.0.0.1:3306/Mysql?relaxAutoCommit="true"。刚刚删除它就可以了。
【解决方案2】:

你有 2 个连接参数,用 & 连接它们而不是 ? :

mysql://db_user:db_user@localhost/mydb?autoReconnect=true&useUnicode=yes

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多