scala – 使用Akka Http进行多重绑定
发布时间:2020-12-16 18:17:35 所属栏目:安全 来源:网络整理
导读:鉴于 documentation,使用akka http绑定到端口然后路由传入连接很容易. 未解决的一个问题是如何为不同的路由绑定多个端口.如果我有多个规格: val route1 : Flow[HttpRequest,HttpResponse,_] = ???val interface1 : String = ???val port1 : Int = ???val ro
鉴于
documentation,使用akka http绑定到端口然后路由传入连接很容易.
未解决的一个问题是如何为不同的路由绑定多个端口.如果我有多个规格: val route1 : Flow[HttpRequest,HttpResponse,_] = ??? val interface1 : String = ??? val port1 : Int = ??? val route2 : Flow[HttpRequest,_] = ??? val interface2 : String = ??? val port2 : Int = ??? 这些应该与一个 implicit val actorSystem : akka.actor.ActorSystem = ??? val httpExt = akka.http.scaladsl.Http() httpExt.bindAndHandle(route1,interface1,port1) httpExt.bindAndHandle(route2,interface2,port2) 或者,是否应该为每个绑定使用不同的HttpExt? Http().bindAndHandle(route1,port1) Http().bindAndHandle(route2,port2) 如果其中一个有效,那么使用一种方法对另一种方法有什么影响吗? 提前感谢您的审核和回复. 解决方法
一点源代码调查显示以下内容.
Here我们看到Http()调用会发生什么. Http对象扩展了ExtensionId [HttpExt] trait,它负责向actor系统注册其他功能. 这意味着你的任何一种方法都可以正常工作,但是考虑到底层系统是如何工作的,使用一个httpExt的imo就不那么容易混淆了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |