Я создаю иерархию актеров, в которой некоторые участники отвечают на сообщения, которые они получают непосредственно известному актеру (фиксированное имя). То есть эти актеры (удаленные в иерархии) получают actorRef через context.actorFor("akka://...")
.Адреса и тесты актера
I.e. например, у меня есть "Orchestrating" актер:
system.actorOf (Подпорки [OrchestratingActor], имя = "оркестратор")
, который затем иметь адрес вида akka://application/user/orchestrator
и где-нибудь другой, случайные рабочий, который получил сообщение и хочет поговорить с оркестраторами:
class RandomWorker extends Actor {
def theOrchestrator = context.actorFor("akka://application/user/orchestrator")
def receive = {
case Foo =>
theOrchestrator ! "Bar"
}
}
Теперь я хотел бы проверить эти актеры и мне интересно, о том, как обращаться с этими адресами: когда блок-тестирования актер (например, используя TestAc torRef), как я могу проверить, что отправляется на удаленный адрес? Одна из идей заключалась бы в том, чтобы (когда это возможно) предоставить адрес известному актеру через конструктор и передать в адрес TestActor, чтобы узнать, что получилось. Однако я задаюсь вопросом, нет ли способа «олицетворять» данный адрес в тесте, особенно. в ситуации, когда адреса не просты.
Другими словами, я хотел бы, чтобы проверить поведение актера (он будет действительно послал "Bar"
к оркестратор при получении Foo
Извините, но я вообще не понимаю вопроса. Можете ли вы составить список того, что у вас есть и чего хотите? – Jatin
Действительно, это было немного пушистым, я надеюсь, что теперь это яснее –