Ссылки Lagom и inter-PersistentEntity

В Lagom совокупные корни [DDD] представлены как PersistentEntity. Возможно ли, чтобы один PersistentEntity разрешал и удерживал ссылку на другой PersistentEntity? Я не смог найти никаких примеров Lagom, иллюстрирующих этот сценарий.


person Robin Roos    schedule 16.06.2017    source источник


Ответы (1)


Да, вы можете хранить идентификатор (идентификатор объекта) другого PersistentEntity в состоянии вашего объекта (события и снимки). Вы можете внедрить PersistentEntityRegistry в свой класс PersistentEntity точно так же, как в свой сервисный импл. Когда вы хотите отправить команду другому объекту, вы просто получаете PersistentEntityRef из реестра по типу и идентификатору объекта.

В случае, если то, что вы делаете, не является «выстрелил и забыл», но вы отправляете команду другому объекту (я полагаю, из вашего обработчика команд) и хотите что-то сделать, когда ответ возвращается, будьте осторожны, как вы обрабатываете этот ответ, поскольку взаимодействие является асинхронным. Подробнее об этом случае можно прочитать в следующем потоке: Lagom: асинхронные операции в обработчиках команд

person Michal Borowiecki    schedule 18.06.2017