2017-01-24 1 views
1

Я изучаю Akka Actor programming (Java), и я читаю/смотрю несколько руководств. Я думаю, что я больше всего это понимаю.Идентификация нескольких экземпляров Акка Актеры

Одна вещь меня озадачивает, и извините, если это вопрос Noob, но речь идет о наличии нескольких экземпляров Актеров и о том, как создавать/извлекать/идентифицировать их?

Допустим, у меня есть Актер Аккаунта, и вам нужно несколько экземпляров. Должен ли я вести учет «номеров счетов» и ссылки на соответствующий экземпляр Актера? Как

Map<String,ActorRef> 

или что-то еще, хранящееся в Супервизоре/Родительском Актере?

При запуске должен ли я создать одного Актера на одну учетную запись или у меня есть фабрика, которая создает Аккаунта Аккаунта, когда это необходимо в первый раз? А как насчет стойкости? Допустим, что Учетная запись хочет загрузить список транзакций, которые были применены?

Должен ли я закодировать все это вручную, или есть более разумная «лучшая практика» здесь, которую я не понимаю?

ответ

0

В вашем случае вы можете просто создать persistent actors под супервизором, где идентификатор стойкости будет соответствовать номеру учетной записи. Поэтому номер счета может использоваться как уникальный идентификатор. Чтобы получить участников из контекста супервизора, вы можете использовать метод ActorContext#child или просто восстановить их из постоянного хранилища, используя ActorContext#actorOf, если они не находятся в текущем контексте супервизора.

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