Ich habe einen Schauspieler mit dem Verhalten:Abgehende Verbindungsstrom geschlossen
def receive: Receive = {
case Info(message) =>
val res = send("INFO:" + message)
installAckHook(res)
case Warning(message) =>
val res = send("WARNING:" + message)
installAckHook(res)
case Error(message) =>
val res = send("ERROR:" + message)
installAckHook(res)
}
private def installAckHook[T](fut: Future[T]): Unit = {
val answerTo = sender()
fut.onComplete {
case Success(_) => answerTo ! "OK"
case Failure(ex) => answerTo ! ex
}
}
private def send(message: String): Future[HttpResponse] = {
import context.system
val payload: Payload = Payload(text = message,
username = slackConfig.username, icon_url = slackConfig.iconUrl,
icon_emoji = slackConfig.iconEmoji, channel = slackConfig.channel)
.validate
Http().singleRequest(RequestBuilding.Post(slackConfig.hookAddress, payload))
}
und einen Test
val actorRef = system.actorOf(SlackHookActor.props(SlackEndpointConfig(WebHookUrl,iconEmoji = Some(":ghost:"))))
actorRef ! Error("Some error message")
actorRef ! Warning("Some warning message")
actorRef ! Info("Some info message")
receiveN(3)
und in der afterAll()
Methode kann ich einen Shutdown auf dem System Schauspieler mit TestKit
.
Es funktioniert, die Anfrage an den Server macht, aber es gibt Fehler aus dem akka ströme Teil:
[ERROR] [06/26/2015 11:34:55.118] [SlackHookTestingSystem-akka.actor.default-dispatcher-10] [ActorSystem(SlackHookTestingSystem)] Outgoing request stream error (akka.stream.AbruptTerminationException)
[ERROR] [06/26/2015 11:34:55.120] [SlackHookTestingSystem-akka.actor.default-dispatcher-13] [ActorSystem(SlackHookTestingSystem)] Outgoing request stream error (akka.stream.AbruptTerminationException)
[ERROR] [06/26/2015 11:34:55.121] [SlackHookTestingSystem-akka.actor.default-dispatcher-8] [ActorSystem(SlackHookTestingSystem)] Outgoing request stream error (akka.stream.AbruptTerminationException)
Scheint, wie da ich eine Zukunft die abgehende Verbindung abgeschlossen haben werden, sollte bereits geschlossen, so ist das ist ein Fehler oder vermisse ich etw?
ich das gleiche Problem haben. Danke für jede Hilfe. – jiangok
Wir brauchen ein Abschaltmuster für akka-stream. Da die Flow-Akteure implizit sind, weiß ich nicht, ob es richtig ist, die in letitcrash.com/post/30165507578/shutdown-patterns-in-akka-2 genannten Techniken anzuwenden. – jiangok
Downvoted für Faulheit. Weder die Überschrift noch die Tags geben einen nützlichen Kontext. – mc0e