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?
Или, может быть, я должен использовать другой подход?
Спасибо!