领域事件发布是一个领域对象为了让其它对象知道自己已经处理完成某个操作时发出的一个通知,事件发布力求从代码层面让自身对象与外部对象解耦,并减少技术代码入侵。使用使用此方法实事件类型定义在实体中,与领域服务完全解耦,没有入侵。@EventListener没有事务支持,只要事件发出就可监控到上述情况会造成事务失败回滚,但事件监控端已经执行,可能导致数据不一致的情况发生。在分布式结构下,通过MQ发送事件通知给其它服务,为解决一致性问题,防止对方服务处理失败可先将事件保久化到数据库后,再重试。

详解基于Spring Data的领域事件发布

详解基于Spring Data的领域事件发布

详解基于Spring Data的领域事件发布

详解基于Spring Data的领域事件发布