Mit akka http, um an einen Port zu binden und dann eingehende Verbindungen zu routen, ist angesichts der einfach genug.Verwenden von Akka Http für mehrere Bindungen
Eine nicht angesprochene Frage ist, wie man mehrere Ports für verschiedene Routen bindet. Wenn ich mehrere Spezifikationen haben:
val route1 : Flow[HttpRequest, HttpResponse,_] = ???
val interface1 : String = ???
val port1 : Int = ???
val route2 : Flow[HttpRequest, HttpResponse,_] = ???
val interface2 : String = ???
val port2 : Int = ???
Sollten diese mit einer HttpExt
gebunden werden?
implicit val actorSystem : akka.actor.ActorSystem = ???
val httpExt = akka.http.scaladsl.Http()
httpExt.bindAndHandle(route1, interface1, port1)
httpExt.bindAndHandle(route2, interface2, port2)
Oder sollte eine andere HttpExt
für jede bind verwendet werden?
Wenn beides gültig ist, gibt es dann irgendwelche Implikationen für die Verwendung einer Methode gegenüber der anderen?
Vielen Dank im Voraus für Ihre Bewertung und Antwort.
Dies wird Ihre Frage beantworten: Http() eq Http() –
@ viktorklang Das bringt Klarheit in die Frage. Wenn jedoch ein Aufruf von "Http()" irgendwelche Nebenwirkungen hat, z.B. Auf dem 'ActorSystem' würde dann die Objektgleichheit das Verhalten nicht vollständig erklären. –
In meiner Antwort unten habe ich einen Verweis auf den Code, der zeigt, dass der zweite 'Http()' Aufruf keine Nebenwirkungen hat. – Tim