Внутренний поток был выполнен без создания элементов результата для 1 выдающегося элемента - PullRequest
1 голос
/ 27 октября 2019

У меня было рабочее игровое приложение. Я попытался включить поддержку эволюции базы данных в приложении. Я изменил файл application.conf, добавив следующие настройки

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://localhost:5432/scaladb"
db.default.username=scalauser
db.default.password=******
db.default.poolInitialSize=1
db.default.poolMaxSize=5
db.default.ConnectionTimeoutMillis=1000
play.evolutions.autoApply=true

База данных существует, и я могу подключиться к ней с помощью команды, подобной sql -U scalauser -d scaladb

Я добавил следующие строки в свой класс AppLoaderнастроить базу данных и запустить миграцию

val onStart = {
  applicationEvolutions
  DBs.setupAll()
}

applicationLifecycle.addStopHook{() => 
  DBs.closeAll()
  Future.successful(Unit)
}

, но теперь, когда я запускаю свое приложение с помощью set run, я получаю это таинственное сообщение об ошибке, которое на самом деле ничего не значит. Я даже не уверен, что это фреймворк пытается сказать мне

akka.http.impl.util.One2OneBidiFlow$OutputTruncationException: Inner flow was completed without producing result elements for 1 outstanding elements
at akka.http.impl.util.One2OneBidiFlow$OutputTruncationException$.apply(One2OneBidiFlow.scala:22)
at akka.http.impl.util.One2OneBidiFlow$OutputTruncationException$.apply(One2OneBidiFlow.scala:22)
at akka.http.impl.util.One2OneBidiFlow$One2OneBidi$$anon$1$$anon$4.onUpstreamFinish(One2OneBidiFlow.scala:97)
at akka.stream.impl.fusing.GraphInterpreter.processEvent(GraphInterpreter.scala:504)
at akka.stream.impl.fusing.GraphInterpreter.execute(GraphInterpreter.scala:378)
at akka.stream.impl.fusing.GraphInterpreterShell.runBatch(ActorGraphInterpreter.scala:588)
at akka.stream.impl.fusing.GraphInterpreterShell$AsyncInput.execute(ActorGraphInterpreter.scala:472)
at akka.stream.impl.fusing.GraphInterpreterShell.processEvent(ActorGraphInterpreter.scala:563)
at akka.stream.impl.fusing.ActorGraphInterpreter.akka$stream$impl$fusing$ActorGraphInterpreter$$processEvent(ActorGraphInterpreter.scala:

1 Ответ

1 голос
/ 27 октября 2019

OK. Я понял. проблема в том, что файл конфигурации искажен. Строки

db.default.driver=org.postgresql.Driver
db.default.username=scalauser
db.default.password=******

должны быть записаны как

db.default.driver="org.postgresql.Driver"
db.default.username="scalauser"
db.default.password="password"

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...