问题标签 [axon]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nservicebus - CQRS 和 Race:如何处理比赛要求
虽然有文章说商业世界不会发生竞争条件,这是我们需要寻找的解决方案,但我不确定情况是否如此。
我需要容量并进行活动票务。当对事件的需求很高时,会在同一微秒内出现许多并发的预订命令。执行此操作的传统方法是使用锁定来防止出现 RACE 条件。否则,它最终会出售不可用座位的门票,这是严格的商业禁忌。
下表显示了同时发生的步骤顺序。
时间 | 总容量 | 消费 | 可用 | 客户1 | 客户2
nservicebus - CQRS:Apply() 与 eventBus.publish()
像 AXON 这样的 CQRS 模式在聚合中使用 apply 方法,最终将事件发布到事件总线,命令处理程序也可以访问事件总线以将 commandHandled 事件发布到事件总线。
有什么优点和缺点,什么时候使用什么?
axon - Axonframework 不使用 jpa 插入事件数据
我运行了入门指南(http://www.axonframework.org/axon-2-quickstart-guide/),它运行良好。
我试图用 JpaEventStore 替换 FileSystemEventStore,但它不存储任何事件。
这是我的配置:
domain-driven-design - 在轴突中批量创建实体
免责声明:我对事件溯源、Axon 框架和 DDD 完全陌生,所以我做错了什么的可能性很大。
我正在做一个应用程序来管理事件 - 会议、研讨会等。
我有一个聚合根,即 EventProposal。应该有可能将 TodoList 分配给给定的 EventProposal。TodoList 是另一个聚合根,由 TodoItems - 实体组成。TodoItem 可以编辑,标记为完成等。
需要将 TodoItem 分配给 TodoList,我是这样实现的:
对应的成功路径命令和事件:
这可以通过 Axon 的 BDD 方式轻松测试。(GivenThenFixture)
但是现在 - 还有另一个要求:应该能够在现有的 TodoListTemplate 上创建 TodoList。模板只是包装了 TodoItemTemplates 集合的聚合。
我的实现问题出现了。我尝试了类似的东西(在 TodoList 类中):
同样,命令和事件:
问题:如您所见 -TodoItemFactory
涉及类,生成唯一 ID:
这样它就不能用轴突测试——它给了我错误org.axonframework.test.AxonAssertionError: Illegal state change detected!
这很明显——工作聚合的 ID 与应用事件后构造的 ID 不同。
最后,我的问题来了:
我应该如何解决这个问题?
- 在某处生成这些 ID 并将它们包含在输出的 TodoListFulfilledWithTemplateEvent 中?这导致在一个事件中有两个集合 - 一个用于 ID,一个用于项目内容/描述。
- 假设我得到了之前生成的那些 ID,并且不仅将它们包含在输出事件中,而且还包含在传入命令中。这导致与以前相同的丑陋,但两次。
- 以我多次调用“assingTodoItemToTodoList”方法的方式执行此操作,这将生成大量事件并可能产生重新排序,因为事件是异步的。
抱歉冗长,我试图尽可能具体。
aop - AOP 与 AXON 框架的集成
我正在使用 axonframework 2.3.1 ,对于应用程序的单元测试,有一个包含一些事件处理程序的Aggregate 类。现在我希望在调用 Aggregate 类中包含的命令处理程序方法之前,我想应用 aop 跟踪 @Before 和 @After 那些处理程序方法。
我正在使用 FixtureConfiguration 接口并将 newGivenWhenThenFixture 应用于聚合类,因为轴突配置类的布线是由轴突框架完成的。
我已经在另一个 xml 文件中配置了 aop 配置,并在运行测试用例之前加载了该 xml 文件。如何将 aop 跟踪与 axon 有线聚合类集成。
谢谢
我在http://www.axonframework.org/axon-2-quickstart-guide/#step1使用了这个例子,在这个例子中我希望我应该能够为 class ToDoEventHandler
每个调用的方法记录之前/之后的跟踪消息。
下面是类似的代码,我在其中编写了一些聚合和方面进行配置。我有一个聚合类
和一个 EventHandler 类
spring-axon的配置文件如下
现在我希望在 ToDoEventHandler 类之前/之后调用的每个方法我都应该能够在方面之前和之后记录,所以我创建了一个方面并对其进行了配置。
和方面
并且有一个主类
}
我希望在 ToDoEventHandler 类之前/之后调用我的每个方法都应该能够在方面之前和之后记录。
提前致谢。
eventhandler - 另一个类中的轴突事件处理程序
我正在使用 axon 2.3.1 ,我有一个聚合类
现在我希望这些事件处理程序包含在其他一些类中,并在该事件被触发时被调用
我尝试将它们放在另一个类中,但没有触发这些事件。
知道如何在 AXON 中实现这一点。
谢谢,
android - Axon 框架:Android 支持?
我目前正在为我的下一个 Android 应用程序研究 CQRS 库,我想知道:Axon Framework 是否支持 Android?我从文档中知道它使用注释,我很好奇是否有人有将其集成到 Android 中的经验。
提前致谢!
亚伯
java - 如何在 Java 中使用 Axon 框架区分空响应和超时
我通过CommandGateway.sendAndWait(Object command, long timeout, TimeUnit unit)方法发送命令并期待结果:
上述调用有 3 种可能的结果:
1)返回一个非空对象。
2)返回一个空对象(通过我的@CommandHandler中的业务逻辑查询数据库但没有找到我要找的东西)
3)返回一个空对象(Axon框架在超时的情况下返回)
我需要实现一种方法来区分点 2) 和 3),以便我可以相应地返回 NOT_FOUND 或 REQUEST_TIMEOUT 状态。您对如何建模有什么建议吗?
我想到的一种方法是在 Greeting (我的模型对象)中添加一个状态字段,如果@CommandHandler没有从 DB 接收到任何内容,我将返回一个 status = -1 的虚拟 Greeting 对象(意思是 NOT_FOUND),但这个解决方案会意味着向模型对象添加标志只是为了区分框架流,我不认为这是推荐的。
java - Axon 框架 - 为每个聚合根使用单独的 Mongo 域事件集合
我们担心使用单个 Mongo 集合 (domainevents) 处理域事件的性能。
将 domainevents 集合拆分为每个聚合根的单独集合是个好主意吗?
我们有查询模型,它是基于来自多个聚合根的事件生成的。如果我们将域事件拆分为多个集合,Axon 是否仍会在聚合根中保留事件的顺序?
这样做通常是个好主意吗?
jakarta-ee - 带有 JTA 事务的 Axon ReplayingCluster
对于我的 Java EE (7) 项目,我想使用 Axon 框架。Axon 的参数之一ReplayingCluster
是 a TransactionManager
,但 Axon 只支持NoTransactionManager
和SpringTransactionManager
。
但是,如果我没有弄错 JTA,事务已经由应用程序服务器管理EntityManager
(我存储在 中JpaEventStore
)。
我的问题:当我使用ReplayingCluster
with时NoTransactionManager
,这是否意味着 JTA 仍将提供事务功能?