Yar*_*ena 9 scala akka-stream akka-http
我正在学习与Akka流一起工作,并且非常喜欢它,但物化部分对我来说仍然有些神秘.
...通过调用池客户端流实现的HostConnectionPool实例上的shutdown()来触发特定池的立即关闭
如何获取HostConnectionPool实例?
更重要的是,我想了解一般如何访问物化值并执行某些操作或从中检索信息.
提前感谢任何文档指针或解释.
Ram*_*gil 10
这是通过该Source.viaMat
功能完成的.从您的问题中提供的链接扩展代码示例:
import akka.http.scaladsl.Http.HostConnectionPool
import akka.stream.scaladsl.Keep
import akka.stream.scaladsl.RunnableGraph
val poolClientFlow = Http().cachedHostConnectionPool[Int]("akka.io")
val graph: RunnableGraph[(HostConnectionPool, Future[(Try[HttpResponse], Int)])] =
Source.single(HttpRequest(uri = "/") -> 42)
.viaMat(poolClientFlow)(Keep.right)
.toMat(Sink.head)(Keep.both)
val (pool, fut) = graph.run()
pool.shutdown()
Run Code Online (Sandbox Code Playgroud)
由于Source.single
物化到Unit
了Keep.right
说,以保持HostConnectionPool
其poolClientFlow
物化到.在.toMat
函数中声明Keep.both
要保持左池不受流量Future
的影响Sink
.
归档时间: |
|
查看次数: |
2783 次 |
最近记录: |