2015-07-19 2 views
13

Gibt es eine Möglichkeit, den Verbindungspool nicht erneut in eine In-Memory-Datenbank zu laden, wenn nach einem Codewechsel neu geladen wird?Play 2.4 - Wie vermeide ich, die Verbindung zum Datenbank-Pool nach einer Code-Änderung wiederherzustellen?

[info] - application - Shutting down connection pool. 
[info] - application - Creating Pool for datasource 'default' 
[info] - play.api.db.DefaultDBApi - Database [default] connected at jdbc:h2:mem:play 

Auch wenn Sie etwas ändern, die nicht in der Datenbank verwandt ist, schaltet Wiedergabe den Verbindungspool nach unten und neu erstellt direkt nach. Es muss einen guten Grund geben, und wenn nicht, ein Workaround.

Jede Hilfe wird geschätzt.

+0

ich Sie [kontinuierlichen Modus] verwenden erraten (http://www.scala-sbt.org/0.13/docs/Triggered-Execution .html). Der einzige Weg ist, diesen Modus zu deaktivieren, da bei jeder Änderung der Quelldatei die Anwendung neu erstellt und neu gestartet wird. – Zernike

+0

@Zernike Ich glaube, OP spricht über Play eigene kontinuierliche Neukompilierung, nicht sicher, ob das von SBT oder völlig anders basiert. – Ryan

+0

Es basiert auf sbt benutzerdefinierte Aufgabe. – Zernike

Antwort

0

Es ist normales Verhalten des Entwicklungsmodus. Ich kann diesen Code nur nach Aufforderung hinzufügen (wenn der Code geändert wurde). Alle Anwendung neu geladen wird, so Anschluss zieht als gut (und die In-Memory-Datenbankinstanz, wenn es durch Spiel erstellt wurde) neu erstellt:

Running the server in development mode

Wenn Sie die Daten in Ihrer Datenbank im Speicher bestehen bleiben wollen dann müssen Sie es separat oder verwenden Sie es mit persistierendem Fähigkeit laufen:

How to use a persistent H2 database

Verwandte Themen