Akka 流 2.6。如何创建 ActorMaterializer?
Posted
技术标签:
【中文标题】Akka 流 2.6。如何创建 ActorMaterializer?【英文标题】:Akka stream 2.6. How to create ActorMaterializer? 【发布时间】:2020-03-05 04:40:43 【问题描述】:从 2.6 开始,我在这一行收到弃用警告:
import akka.stream.ActorMaterializer
implicit val actorMaterializer = ActorMaterializer()
警告:
对象 ActorMaterializer 中应用的方法已弃用(从 2.6.0 开始): 使用具有流属性的系统范围的物化器或 配置设置以更改默认值
我不明白那条信息,我该怎么办?什么是“系统范围的物化器”,它位于某个 akka 包中?
【问题讨论】:
【参考方案1】:不再需要了。但是您必须在您的上下文中提供ActorSystem
中的implicit
。
implicit val actorSystem = ActorSystem()
然后物化器隐式派生自ActorSystem
中的akka.stream.Materializer
/**
* Implicitly provides the system wide materializer from a classic or typed `ActorSystem`
*/
implicit def matFromSystem(implicit provider: ClassicActorSystemProvider): Materializer =
SystemMaterializer(provider.classicSystem).materializer
【讨论】:
是的,但是您需要将 akka-stream 作为依赖项。 @learn2code 如果不使用 akka 流,为什么还需要 Materializer?以上是关于Akka 流 2.6。如何创建 ActorMaterializer?的主要内容,如果未能解决你的问题,请参考以下文章