当前位置: 首页 > 知识库问答 >
问题:

轴突-同步Saga/命令验证-唯一性

孟茂
2023-03-14

谢了。

共有1个答案

扶开诚
2023-03-14

我个人的意见是选择2(从你提到的文章中)是最务实的。我不同意在命令端为DB提到的缺点

为了检查唯一性,我将使用一个小的命令侧投影(在命令组件/包内)。在Axon中,这将是一个常规的事件处理程序,它将处理事件并以非正规化的方式填充一个小表,因此您可以在后面的命令处理程序中使用它进行唯一性检查。此事件处理程序/处理器应为订阅类型(https://docs.axoniq.io/reference-guide/configuring-infrastructure-components/event-processings/event-processors#event-processors)

>

  • 订阅事件处理器将使用相同的事务来存储事件和投影。这就是为什么在这里使用这种特殊类型的事件处理器很重要。它是立即一致的。

  •  类似资料:
    • 我不知道如何恰当地问这个问题,但它是这样的: 我在特定事件上开始了传奇,然后我调度命令,该命令应该创建一些聚合,然后发送另一个事件,该事件将由传奇处理,以继续逻辑。 但是,每次我重新启动应用程序时,我都会得到一个错误,说序列x处的聚合事件已经插入,我想这是因为这个传奇还没有完成,当我重新启动它时,它会通过尝试创建新的聚合来再次启动它。 谢谢

    • 本文向大家介绍yii2 从数据库验证唯一值:唯一验证,包括了yii2 从数据库验证唯一值:唯一验证的使用技巧和注意事项,需要的朋友参考一下 示例 如果输入现有值,某些人会遇到有关无法显示错误消息的问题。例如,我不允许用户使用现有电子邮件进行注册。 视图 控制者 模型            

    • null 我们尝试了几件事: > 发出命令: 激发命令 同步处理此命令,如果命令无效或引发事件,则返回错误。 null 缺点:-据我所知,应该用佐贺来编排流程。这里我们介绍“验证”的概念。我不确定这是不是推荐的方法。 验证是一个非常常见的概念。在分布式完全异步系统中如何处理它?

    • 问题内容: 我有一个字段,例如,在表中应该是唯一的。 使用Spring / Hibernate验证进行验证的最佳方法是什么? 问题答案: 一种可能的解决方案是创建自定义约束(和相应的验证器)。并要查找数据库中的现有记录,请提供(或Hibernate)to 的实例。 EntityManagerAwareValidator ConstraintValidatorFactoryImpl 唯一键 Uniq