Macwire как подключить инстанс

Я изучаю инфраструктуру Macwire DI для Scala и, делая это, я столкнулся с проблемой.

У меня есть актер-диспетчер, который создает группу актеров, которые зависят от диспетчера. Диспетчер контролирует весь поток сообщений между дочерними субъектами.

Вот краткая ситуация моей установки:

class WorkerActor(dispatcher: ActorRef) extends Actor {}

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

В моем реальном проекте WorkerActor имеет больше зависимостей, чем только одно "я". И они могут быть легко подключены.

Я пытался сделать это dispatcher: ActorRef @@ Dispatcher, но это дало мне ошибку:

Ошибка:(47, 9) Не удается найти значение типа: [akka.actor.ActorRef @@ Dispatcher] wire[WorkerActor]

Если бы я использовал guice, это работало бы как шарм:

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

Вопрос в том, как мне добавить "я" в сферу macwire?

Или, может быть, я должен использовать другой подход?

Спасибо!

0 ответов

Другие вопросы по тегам