Me gustaría configurar PostgreSQL para mi Play, pero estoy recibiendo el siguiente error:

! Internal server error, for request [GET /] ->
java.util.concurrent.TimeoutException: Futures timed out after [300000] milliseconds    at
akka.dispatch.DefaultPromise.ready(Future.scala:834)
~[akka-actor.jar:2.0]   at
akka.dispatch.DefaultPromise.result(Future.scala:838)
~[akka-actor.jar:2.0]   at akka.dispatch.Await$.result(Future.scala:74)
~[akka-actor.jar:2.0]   at
play.core.ReloadableApplication.get(ApplicationProvider.scala:108)
~[play_2.9.1.jar:2.0]   at
play.core.server.Server$class.sendHandler$1(Server.scala:59)
[play_2.9.1.jar:2.0]    at
play.core.server.Server$$anonfun$getHandlerFor$4.apply(Server.scala:89)
[play_2.9.1.jar:2.0] [error] application - 
! @6a64i2p5o - Internal server error, for request [GET /] ->
play.api.PlayException: Not initialized [?]     at
play.api.PlayException$.apply(Exceptions.scala:122)
~[play_2.9.1.jar:2.0]   at
play.core.ReloadableApplication.<init>(ApplicationProvider.scala:94)
~[play_2.9.1.jar:2.0]   at
play.core.server.NettyServer$$anonfun$mainDev$1.apply(NettyServer.scala:165)
~[play_2.9.1.jar:2.0]   at
play.core.server.NettyServer$$anonfun$mainDev$1.apply(NettyServer.scala:164)
~[play_2.9.1.jar:2.0]   at
play.utils.Threads$.withContextClassLoader(Threads.scala:17)
~[play_2.9.1.jar:2.0]   at
play.core.server.NettyServer$.mainDev(NettyServer.scala:163)
~[play_2.9.1.jar:2.0]

Yo uso los siguientes archivos de configuración:

aplicación.conf

db.default.url="postgres://play:[email protected]:9000/Play_Playground_DB"
db.default.user=play
db.default.password=play
db.default.driver=org.postgresql.Driver

proyecto/Construcción.scala

val appDependencies = Seq(
"postgresql" % "postgresql" % "9.1-901.jdbc4"
)

Puedo configurar Play_Playground_DB y puede acceder a ella a través de la terminal y el comando psql Play_Playground_DB.

Lo que podría ser la causa raíz del problema?

Que la URL no es nada PostgreSQL reconocería; es de suponer que el marco es de tomar en cuenta que aparte y escoger las piezas que se necesitan? También, se recomienda que lea esta sección y actualizar el controlador jar: jdbc.postgresql.org/download.html#current
Gracias! Actualizado a la versión actual.

OriginalEl autor Thomas Kremmel | 2012-04-23

2 Comentarios

  1. 24

    Probablemente este es el problema:

    db.default.url="postgres://play:[email protected]:9000/Play_Playground_DB"

    La jugar doku dice, «db.por defecto.url» es una llanura JDBC-URL. Hay dos problemas con su valor:

    • No está en un formato reconocido por PostgreSQL. Buscar aquí para los formatos permitidos.
    • Con ...default... redefinir el defecto de origen de datos. Por defecto, este pide problemas a menos que hacer algunos pasos más.

    Válido PostgreSQL URL podría tener este aspecto en su caso:

    jdbc:postgresql://localhost:9000/Play_Playground_DB

    Pero:_ Está seguro de que su base de datos se ejecuta en el puerto 9000? Usted dice psql Play_Playground_DB que funciona para usted. Por lo tanto creo que el puerto debe ser el valor predeterminado del puerto 5432. A continuación, esta dirección es la correcta:

    jdbc:postgresql://localhost/Play_Playground_DB
    Gracias, a la última dirección URL que postet es la solución. Ahora ya funciona! Sólo me preguntaba por qué se describe a continuación de manera diferente: github.com/playframework/Play20/wiki/SettingsJDBC
    He utilizado esta config: db.por defecto.url=»jdbc:postgresql://localhost/Play_Playground_DB»
    Respecto al enlace de github: Esto se trata de «BoneCP», un grupo de conexión que se alza entre la DB y la aplicación de este marco. El uso de un pool de conexiones a menudo requiere de la no-estándar de direcciones Url.
    ok gracias, lo tengo 😉
    Yo estoy usando el Juego 2.0.4 y tengo que trabajar sin la adición de jdbc: a la dirección URL. Sin embargo, es probable que se ejecutan su PostGres en el puerto por defecto (5432), especialmente como 9000 es el puerto HTTP predeterminado Jugar utiliza.

    OriginalEl autor A.H.

  2. 5

    En mi OSX, he instalado PostgreSQL desde homebrew y la versión actual es 9.3.4

    Las cadenas de conexión descritas anteriormente no trabajo para mí, porque están usando postgresql nombre de base de datos. Mis conexiones son establecidas si y sólo si puedo especificar como:

    db.default.url="postgres://user:[email protected]/MyDbName"

    Aviso de que es postgres en lugar de postgresql.

    Ya esta resuelto el problema que tenía. Estoy usando Postgres 9.2.3 y Jugar 2.3.0

    OriginalEl autor Surge

Dejar respuesta

Please enter your comment!
Please enter your name here