Как установить свойство autoReconnect для mysql db url в файле конфигурации Play Framework?

Я пытаюсь установить свойство autoReconnect = true mysql connection в файле application.conf моего приложения Play Framework 2.0. Но это дает мне следующую ошибку:

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.

Я также попытался установить эти параметры игры db, чтобы исправить эту проблему соединения, как упоминалось здесь (https://groups.google.com/forum/#!topic/play-framework/KzvbZ61j9Eo), но это не решило проблему.

idleConnectionTestPeriod=10
testConnectionOnCheckin=true

Было бы полезно оценить любые рекомендации по решению этой проблемы.

Спасибо.

Ответ 1

очевидно, что что-то добавляет '? useUnicode = yes' к вашему URI, поэтому вы получаете

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

синтаксический анализ дал бы вам, что значение для autoReconnect true? useUnicode = yes

скопируйте немного, возможно, ваш пул соединений или слои абстракции данных делают это.

Ответ 2

У вас есть 2 параметра соединения, объединить их и вместо?

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