我是Akka-Http的新手。我添加了以下路线
path(urlpath / "messages") {
post {
decodeRequest {
withoutSizeLimit {
entity(asSourceOf[Message]) { source =>
val storeToDb = Flow[Message].map[Future[Message]](message => (service ask message).mapTo[Message])
val sendToProviderFlow = Flow[Future[Message]].map[Unit](message => sendToJasminProvider(message))
val futureResponse = source
.via(storeToDb)
.via(sendToProviderFlow)
.runWith(Sink.ignore).map(_ => "Message Received")
complete(futureResponse)
}
}
}
}
}
当我尝试在Route上运行时,我收到了几个错误,而且我不知道如何解决。
问题:
答案 0 :(得分:0)
关于第一个错误,看来您打开了太多连接。也许您只是没有将它们关闭在某个地方。 Unix对套接字和文件使用了类似的连接
关于第二个错误,很明显您的actor(服务)已死。尝试调试演员的生命周期并从
开始enabling akka.actor.debug.lifecycle = on
有关更多详细信息,请访问此页面 https://doc.akka.io/docs/akka/current/logging.html#auxiliary-logging-options
sendToJasminProvider
是否具有类型Future[Message] => Unit
?如果该函数具有类似Future[Message] => Future[T]
的类型,则有问题