Я изучаю Акку, и я пытаюсь понять, как заставить актеров разговаривать друг с другом (позвоните им A
и B
). Это не сценарий запроса/ответа, A
и B
отправляют друг другу сообщения в любое время.
В настоящий момент у меня есть два брата, которые передают сообщения друг другу в обоих направлениях. Оба они создаются непосредственно на ActorSystem
. Я изначально передал ActorRef
of A
в конструктор B
. Но я не могу передать ActorRef
of B
в конструктор A
, потому что он еще не существует, т.е. Я не могу использовать этот метод для циклических ссылок.
Я читал о actorFor
, и это позволило бы мне взглянуть на актера, используя его путь. Тем не менее, мне не нравится эта настройка, потому что, если путь изменится, он не будет пойман компилятором.
Другая альтернатива, учитывая, что у каждого актера есть доступ к этому родительскому объекту, заключается в передаче сообщений от A
и B
родительскому объекту, а затем родительскому сообщению передается сообщение до A
и B
. Но это связывает родителя с типами сообщений, передаваемых взад и вперед.
Какими стратегиями пользуются люди, чтобы заставить актеров осознавать друг друга? Я слишком осторожен в поиске актеров по пути?