2017-01-19 9 views
0

В Акке, когда я должен создать актера, используя system.actorOf() vs context.actorOf()?Когда должен быть создан Актер в системе Актера или Контексте Актера?

Я знаю, что context.actorOf() создает дочернего актера, но когда один актер должен быть ребенком другого и верхнего уровня?

ответ

0

вам следует избегать создания актеров под актером системы. Обычно это хорошая стратегия для того, чтобы новые Актеры были детьми вашего собственного (контекстного) актера и группировали их соответственно и иерархически.

Таким образом, у вас есть лучшая гранулярность для управления жизненным циклом ваших Актеров, что подразумевает, что вы можете контролировать, сколько экземпляров каждого типа актера вам нужно в любое время (динамически).

http://doc.akka.io/docs/akka/2.4/scala/actors.html

http://getakka.net/docs/Actor%20lifecycle

+0

Есть ли обстоятельство, где я хотел бы создать актер под системой актера? Например, если у меня были файлы «FileWriterActor», «LogActor» и «ReceiptActor», которые должны были записываться в файл, должен ли 'FileWriterActor' быть дочерним и для« LogActor', и «ReceiptActor»? – Nelson

+0

Не уверен, что там есть структура, но мне кажется, что вы должны передать либо FileWriteActor, либо его менеджер (желательно) ref в LogActor, а также в ReceiptActor. Поэтому они могут отправлять сообщения в FileWriteActor. Имея родителя-актера, вы сможете переключиться на другой FileWriter без необходимости обновления актера на любом другом актере. –

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

  • Нет связанных вопросов^_^