2015-06-25 2 views
0

Понять все AKKA Актеры происходят от/опекуна пользователя. Чтобы позаботиться об исключениях, я хотел бы определить MyAppParent Actor и всех моих актеров под этим Актером. Можно ли это сделать с помощью AKKA. В реальном времени мне нужно отправлять сообщения непосредственно в дочерний почтовый ящик Actors в MyAppParentActor, а не через родителя. Любые указатели на то, как это сделать, если это возможно с AKKA.Определение AKKA Иерархии актеров

Спасибо, cabear

ответ

1

Только начал смотреть в Акку. Из моего понимания (исправьте меня, я ошибаюсь) на ваш вопрос. Акка имеет иерархию. Root guardian -> пользовательский опекун -> ваша иерархия вашего актера. Поэтому, если вы хотите создать актера верхнего уровня (дети опекуна пользователя).

ActorSystem system = ActorSystem.create("mySystem"); 
ActorRef ref = system.actorOf(Props.create(TopLevelActor.class); 

Теперь, если вы хотите создать дочернего актера для созданного выше действующего актера верхнего уровня. Вместо «системы» используйте контекст участников. например

getContext().actorOf(Props.create(ChildOfTopLevel.class)).tell(
        new Message(0, 200000), getSelf()); 

Вы можете использовать метод РАССКАЖИ, как и выше, чтобы инструктировать верхнего уровня актера отправлять сообщения своему ребенку, что вы только что создали. Также сообщение не перейдет непосредственно к ребенку, он пойдет в почтовый ящик.

Так что я думаю, вы просто должны смотреть в контексте и сказать.

Вы должны прочитать официальную документацию (http://akka.io/docs/). Это довольно подробно. Кроме того, я все еще на третьей главе документации, так что поправьте меня, если я ошибаюсь.

+0

Спасибо, можно отправить сообщение за пределы класса TopLevelActor для дочернего класса – cbear

+0

Можете ли вы прокомментировать. Я думаю, что мой ответ выше довольно ясен. Мы можем отправлять сообщения от Актера своим детям и получать ответы обратно. Таким образом, вы создаете иерархию актеров (полезную для контроля цели). Ребенок актера верхнего уровня может порождать своих собственных детей, а затем эти дети могут порождать еще больше детей. Я думаю, вы должны посмотреть документацию или следовать основному учебнику. Это полезно http://refcardz.dzone.com/refcardz/reactive-programming-akka – cykopath

Смежные вопросы