老实说,我不知道从哪里开始。存储库方面相对简单,但我似乎找不到任何有关如何通过 CommandGateway 删除聚合根的信息。
任何有关如何实现这一目标的指示和/或文档将不胜感激。
将其放在这里,以供其他可能像我最初一样迷失的人将来参考。
使用事件溯源聚合时,可以在相关聚合上使用 markDeleted() 静态方法。我将我的放在 @EventSourcingHandler 中
import static org.axonframework.modelling.command.AggregateLifecycle.markDeleted;
@EventSourcingHandler
public void on(DeletedEvent event){
markDeleted();
}
更多信息请参见:https://docs.axoniq.io/reference-guide/implementing-domain-logic/command-handling/aggregate#aggregate-lifecycle-operations https://docs.axoniq.io/reference-guide/implementing-domain-logic/command-handling/aggregate#aggregate-lifecycle-operations
为了删除与聚合关联的视图数据,我使用了外部@EventHandler:
@EventHandler
public void on(DeletedEvent event, ReplayStatus status){
entityRepo.deleteById(event.getId());
}
感谢阿拉德让我参与评论部分。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)