Macwire如何连接actorref自我实例

时间:2017-09-24 13:44:47

标签: scala dependency-injection akka inversion-of-control macwire

我正在为Scala探索Macwire DI框架,在这样做时我遇到了一个问题。

我有一个调度员actor,它创建了一堆依赖于调度程序的actor。 Dispatcher控制其子actor之间的所有消息流。

以下是我的设置的简要情况:

class WorkerActor(dispatcher: ActorRef) extends Actor {}

class Dispatcher extends Actor {
  private val worker = context.actorOf(Props(
    new WorkerActor(self)
  ))
}

在我的真实项目中,WorkerActor比只有一个“self”具有更多的依赖关系。它们可以轻松连接。

我尝试这样做dispatcher: ActorRef @@ Dispatcher,但它给了我错误:

  

错误:(47,9)找不到类型的值:[akka.actor.ActorRef @@   调度]       线[WorkerActor]

如果我使用的是guice,这就像魅力一样:

bind[AkkaRef] annotatedWith(Names.named("Dispatcher")) toInstance self

问题是:如何将“self”添加到macwire的范围?

或许我应该使用不同的方法?

谢谢!

0 个答案:

没有答案