阿卡流 2.6。如何创建 ActorMaterializer?

Ale*_*rov 21 scala akka-stream

从 2.6 开始,我在这一行收到弃用警告:

import akka.stream.ActorMaterializer
implicit val actorMaterializer = ActorMaterializer()
Run Code Online (Sandbox Code Playgroud)

警告:

不推荐使用对象 ActorMaterializer 中的方法应用(自 2.6.0 起):使用具有流属性或配置设置的系统范围的物化器来更改默认值

我不明白该消息,我该怎么办?什么是“系统范围的物化器”,它位于某个 akka 包中?

Iva*_*iuc 28

它不再需要了。但是,你必须有一个implicitActorSystem在您所在的上下文。

implicit val actorSystem = ActorSystem()
Run Code Online (Sandbox Code Playgroud)

那么物化器是从ActorSystemin隐式派生的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
Run Code Online (Sandbox Code Playgroud)