Я использую play framework 1.2.7, gae module 1.6.0 и siena module 2.0.7 (также проверен 2.0.6). Это простой проект, который должен запускаться в игре, развернутой в App Engine, и подключаться к базе данных MySQL в Google Cloud SQL. Мой проект работает нормально локально, но не удается подключиться к базе данных в процессе производства. Глядя на журналы, похоже, что вместо него используется драйвер postgresql вместо mysql.Play Siena не удается подключиться к MySQL на GAE
Application.conf
# db=mem
db.url=jdbc:google:mysql://PROJECT_ID:sienatest/sienatest
db.driver=com.mysql.jdbc.GoogleDriver
db.user=root
db.pass=root
Это стек аварии след
play.Logger niceThrowable: Cannot connected to the database : null
java.lang.NullPointerException
at com.google.appengine.runtime.Request.process-a3b6145d1dbbd04d(Request.java)
at java.util.Hashtable.put(Hashtable.java:432)
at java.util.Properties.setProperty(Properties.java:161)
at org.postgresql.Driver.loadDefaultProperties(Driver.java:121)
at org.postgresql.Driver.access$000(Driver.java:47)
at org.postgresql.Driver$1.run(Driver.java:88)
at java.security.AccessController.doPrivileged(AccessController.java:63)
at org.postgresql.Driver.getDefaultProperties(Driver.java:85)
at org.postgresql.Driver.connect(Driver.java:231)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at play.modules.siena.GoogleSqlDBPlugin.onApplicationStart(GoogleSqlDBPlugin.java:103)
at play.plugins.PluginCollection.onApplicationStart(PluginCollection.java:525)
at play.Play.start(Play.java:533)
at play.Play.init(Play.java:305)
Что здесь происходит? Я указываю правильную схему драйвера и url, и она использует драйвер postgresql. Доступ к Google Cloud SQL API включен, приложение разрешено подключаться к экземпляру mysql, я не использую db = mem, ... Я застрял и не могу понять, как двигаться вперед! : -.. ((
UPDATE: Я думал, что я нашел решение, но это было не так, если я держу %prod
префикс и создать войну нормально (или просто не определяет никаких свойств БД), то приложение будет использовать Google DataStore
вместо Cloud SQL
.Если я создаю файл войны, добавив --%prod
в конец (или просто удаляю префикс %prod
.exe в application.conf), он будет продолжать отказываться от подключения к базе данных, отображающей тот же начальная ошибка.
Любые идеи, пожалуйста?