2016-08-08 3 views
0

После обновления до версии 2.5 версии Play я столкнулся с этой проблемой, когда пытаюсь запустить проект в режиме производства. Кажется, что в этой версии мне нужно инициализировать пул вручную ScalikeJDBC: Connection pool is not yet initialized.(name:'default) Я не могу понять, как это сделать. Я добавил этот класс:Play framework 2.5: ScalikeJDBC: пул подключений еще не инициализирован при запуске

import play.api.Logger 
import scalikejdbc._ 
import scalikejdbc.config._ 

class DbInitializer { 
    DBs.setupAll() 
    Logger.debug("DB initialized") 
} 

и в моей марки МОДУЛЬ как EagerSingleton:

class GlobalModule extends AbstractModule { 
    def configure() = { 
    bind(classOf[DbInitializer]).asEagerSingleton() 
    } 
} 

Теперь, когда я запускаю свой проект в производство, я вижу:

[информация ] application - Создание пула для datasource 'default' [info] padDefaultDBApi - База данных [по умолчанию] подключена к jdbc: postgresql: // localhost: 5432/inetshop [debug] application - [debug] application - DB initialized К сожалению, не удается запустить сервер. com.google.inject.CreationException: Невозможно создать инжектор, см следующие ошибки:

1) Ошибка инъекционного конструктор, java.lang.IllegalStateException:. пула соединений не инициализированы (имя: "по умолчанию) в Контроллеры. Применение. (Application.scala: 20)

Так что мой Инициализатор успешно работает, но все еще сталкивается с этой проблемой. Нужна помощь, чтобы исправить это.

+0

Что 'DBS. setupAll() 'делает? – marcospereira

+0

Здесь http://scalikejdbc.org/documentation/configuration.html#scalikejdbc-config они сказали: «После простого вызова scalikejdbc.config.DBs.setupAll() создаются пулы подключений». – user2975535

ответ

0

У меня была аналогичная проблема, (настройки пулов соединений были проигнорированы) не совсем то же самое, но, возможно, это помогает:

мы должны были включить scalikejdbc-плей-DBAPI-адаптер: build.sbt : "org.scalikejdbc" %% "scalikejdbc-игра-DBAPI-адаптер" %

и добавить в application.conf: play.modules.enabled + = "scalikejdbc.PlayDBApiAdapterModule"