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()
}
}
は今、私は以下を参照してください。
[情報を]アプリケーション - データソース 'default'のプールを作成する[info] padDefaultDBApi - データベース[default]接続先 jdbc:postgresql:// localhost:5432/inetshop [debug] application - [デバッグ]アプリケーション - DBが初期化されました サーバーを起動できません。 com.google.inject.CreationException: インジェクターを作成することができません、次のエラーを参照してください:コンストラクタを注入
1)エラー、java.lang.IllegalStateException: 接続プールがまだ初期化されていません(名前: 'デフォルト)で、 controllers.Application(Application.scala:20)
私の初期化子は正常に実行されますが、この問題に直面しています。これを解決するための助けが必要です。
我々はscalikejdbcプレイ-DBAPIアダプタを有効にする必要がありました: build.sbtを
何 'のDB。 setupAll() 'はしますか? – marcospereira
http://scalikejdbc.org/documentation/configuration.html#scalikejdbc-config彼らは言った: "単にscalikejdbc.config.DBs.setupAll()を呼び出した後、接続プールが用意されている。 – user2975535