2016-08-08 43 views
0

Nach dem Upgrade auf Version 2.5 von Play stehe ich vor diesem Problem, wenn ich versuche, das Projekt im Produktionsmodus auszuführen. Es scheint wie in dieser Version muss ich Pool manuell initialisieren ScalikeJDBC: Connection pool is not yet initialized.(name:'default) Ich kann nicht verstehen, wie kann ich das tun. Ich habe diese Klasse hinzugefügt:Play Framework 2.5: ScalikeJDBC: Der Verbindungspool wurde beim Start noch nicht initialisiert

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

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

und in meinem Modulnote als EagerSingleton:

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

Nun, wenn ich mein Projekt in der Produktion laufen sehe ich:

[info ] Anwendung - Pool für Datenquelle 'Standard' erstellen [Info] padDefaultDBApi - Datenbank [Standard] verbunden bei jdbc: postgresql: // localhost: 5432/inetshop [debug] -Anwendung - [debug] Anwendung - DB initialisiert Hoppla, kann den Server nicht starten. com.google.inject.CreationException: kann nicht Injektor schaffen, siehe die folgenden Fehler:

1) Fehler Injektion Konstruktor java.lang.IllegalStateException. Verbindungspool noch nicht initialisiert (Name: 'default) bei controllers.Application (Application.scala: 20).

So erfolgreich meine Initializer laufen, aber immer noch mit diesem Problem konfrontiert. Brauchen Sie Hilfe, um dies zu beheben.

+0

Was 'DBs. setupAll() 'tut? – marcospereira

+0

Hier http://scalikejdbc.org/documentation/configuration.html#scalikejdbc-config sagten sie: "Nach dem Aufruf von scalikejdbc.config.DBs.setupAll() werden Verbindungspools vorbereitet." – user2975535

Antwort

0

Ich habe ein ähnliches Problem habe, (Verbindungspools Einstellungen ignoriert wurden) nicht genau die gleiche, aber vielleicht hilft es: build.sbt:

wir den scalikejdbc-Play-dbapi-Adapter zu ermöglichen, hatten : "org.scalikejdbc" %% "scalikejdbc-Play-dbapi-Adapter" %

und in den application.conf: play.modules.enabled + = "scalikejdbc.PlayDBApiAdapterModule"