недопонимание в вашем описании заключается в том, что lagom не создает UserEntity .Правильное предложение будет следующим: «Lagom создает один экземпляр UserEntity для каждого пользователя в моей системе».
Хитрость заключается в том, что в любое время, когда вы хотите отправить событие экземпляру постоянного объекта, вы должны запросить экземпляр с помощьютип и идентификатор:
PersistentEntityRegistry persistentEntities = ...;
PersistentEntityRef<UserCommand> refAlice =
persistentEntities.refFor(UserEntity.class, "Alice");
В приведенном выше фрагменте Lagom гарантирует, что все команды, отправленные вами на refAlice
, будут обрабатываться только этим экземпляром.
Затем любое событие, генерируемое refAlice
будет привязан к классу и идентификатору, чтобы их нельзя было перепутать с событиями, генерируемыми другими экземплярами.