2015-04-10 2 views
0

Вопросы, касающиеся лучшей практики:Должны ли сообщения Akka быть уникальными для пары отправителя-получателя?

Должен ли тип сообщения Akka (класс case) всегда посылаться только одним типом актера и приниматься только одним типом актера?

Пример:

Три типа актер: MainSender, MainReceiver, Worker
MainSender посылает сообщение DoSomething(work) к MainReceiver.
MainReceiver пересылает DoSomething(work) сообщение Worker.

Это лучшая практика? Или было бы лучше определить новый класс case для другой пары отправитель-получатель?

MainSender отправил сообщение DoSomething(work) на номер MainReceiver.
MainReceiver отправил сообщение StartWorking(work) на номер Worker.

ответ

2

Вы можете полностью отправить такое же сообщение любому актеру, если это имеет смысл в вашей архитектуре. Настоятельно рекомендуется повторно использовать ваш код.

Как вы и предполагали, это именно то, что делает функция forward.

Та же логика для Exception: если вы хотите бросить Exception, вы можете использовать существующую, если она вам подходит или создать новую.

+0

Конечно, я знаю, что я перешлю его, я просто хотел знать, если я его навяжу (если преимущества перевесят недостатки в глазах других людей). Спасибо. – Quizzie

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