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

Axon和Spring的存储库集成

东郭良弼
2023-03-14

我已经阅读了Axon文档,并查看了所有提供的示例项目,尤其是我在这里引用的AxonBank,但有一件事仍然困扰着我,就我所见,没有得到解释:

根据我的理解,在Axon中,您可以对表示物化视图的已读数据库执行查询,例如包含最新BankAccountJPA实体的H2。但是,如果您有一个Spring存储库,例如jparepository (此处),那么您还可以使用save-method,该方法只能用于命令。您不应该将存储库拆分为只读和只写存储库吗?

有人能给我指出Axon如何使用这个存储库的文档吗?因为对于一个统一的开发人员来说,它看起来像一个“普通的”JPA存储库,即实体看起来是可变的,并且总是最新的。

如果使用jparepository#save而不是聚合更新实体,会发生什么?它们会不同步吗?

似乎我们在这个案例中有两个真理来源,理论上不应该是这样。

共有1个答案

郏瀚
2023-03-14

让我试着帮你!

您所描述的是CQRS模式-尤其是查询端!您提到的存储库通常用于@EventHandler来构建您的预测,它将以您需要的方式存储数据

再看轴突库,这里应该清晰可见。

 类似资料:
  • 我如何要求axon刷新EventStore的缓存? 我知道这样插入事件绝对不是一个好的做法,但我们需要一个工作区。

  • 我正在尝试实现一个简单的REST服务,该服务基于具有Spring启动和Spring数据Rest的JPA存储库。(请参阅此教程)如果将以下代码与 gradle 一起使用,则运行良好: 为了让事情变得更简单,我使用Spring boot CLI(“Spring run”命令)尝试了相同的代码。 不幸的是,这似乎不起作用@RepositoryRestResource似乎无法像@RestControlle

  • 尝试从方法名生成查询时出错。然而,我可以使用其他已经在那里的。...等等。知道为什么吗? 实体 存储库 应用程序.属性 方法关键字:https://docs.spring.io/spring-data/solr/docs/1.2.0.rc1/reference/htmlsingle/

  • 我在使用spring存储库和服务的代码中遇到了这个问题,在我的spring项目中,它不适用于用户和角色,这是他们的服务和存储库的问题: 这是用户实现存储库: 这是用户的存储库和服务: 用户服务 试图消除空白,但这是同样的问题,我搜索了很多关于它,但没有找到任何解决方案。

  • 我有多核的apache solr,例如货币、国家等。。。因此,使用Spring Data Solr,我可以从一个核心检索信息。我现在已经获得了针对“货币”核心的XML配置查询。如果我想查询“国家”核心,我该如何设置? 并将存储库定义为 通过我的服务,我可以做到这一点 我也尝试过使用@SolrDocument(solrCoreName=“currency”),但这行不通。 我需要这个尽快的帮助...

  • 我想使用Spring LDAP 设置多个 LDAP 存储库。我的目标是同时在所有存储库中创建或更新对象。 我使用LdapRepository Spring接口,我认为目前这是不可能的。 我想知道我是否可以创建自己的LdapRepository来扩展Spring,但是我不知道如何开始。 这是我的配置: 完整地说,一个存储库: 知道怎么做吗? 提前感谢任何帮助。