axon
Anokata
这个作者很懒,什么都没留下…
展开
-
Axon Framework官方文档(八)
8. TestingCQRS最大的好处之一,特别是事件源的好处在于,它可以完全通过事件和命令来表达测试。无论是功能组件、事件和命令,都对领域专家或业务所有者有明确的含义。这不仅意味着用事件和命令表示的测试具有清晰的功能含义,也意味着它们几乎不依赖于任何实现选项。本章所描述的特性要求通过配置maven依赖项来获得axon模块(使用<artifactId>axon-test</artifactId>和翻译 2017-10-18 15:30:02 · 568 阅读 · 0 评论 -
Axon Framework官方文档(七)
7. Managing complex business transactions(管理复杂业务事务)不是每个命令都能在一个ACID事务中完全执行。现金转账事务是一个很常见频繁出现的例子,用来作为论据。人们通常认为,从一个帐户转到另一个帐户是绝对需要一个原子和一致的事务的。嗯,它不是。相反,这是完全不可能的。如果钱从A银行的账户转到B银行的另一个账户,该怎么办?银行A是否在B银行的数据库中获得了一个翻译 2017-10-17 19:10:38 · 1130 阅读 · 0 评论 -
Axon Framework官方文档(九)
9. Command Dispatching显式命令分发机制的使用有很多优点。首先,有一个对象可以清楚地描述客户机的意图。通过记录该命令,您可以将意图和相关数据存储起来以备将来使用。命令处理还可以很容易地将您的命令处理组件公开到远程客户端,例如通过web服务。测试也变得更加容易,您可以通过定义初始情况(given)、命令执行(when)和预期的结果(expect)列出一系列事件和命令(参见测试)来定翻译 2017-10-18 18:54:04 · 1275 阅读 · 0 评论 -
Axon Framework官方文档(十一)
11. Repositories and Event Stores仓储是提供对聚合的访问的机制。仓储充当用于保存数据的实际存储机制的网关。在CQRS中,存储库只需要能够根据其惟一标识符找到聚合。而所有的复杂查询,需要放到查询模型上做。在Axon框架中,所有仓储必须实现Repository接口。这个接口规定了三个方法:load(identifier, version)、load(identifier翻译 2017-10-19 17:43:37 · 2743 阅读 · 0 评论 -
Axon Framework官方文档(十)
10 Event Processing(事件处理)应用程序生成的事件需要被发送到可以更新查询数据库、搜索引擎或需要这些事件的其他资源的组件上(通俗而言,即事件需要被传递到需要它的组件上):事件处理程序(event handler)。事件总线负责向所有感兴趣的组件发送事件消息。在接收端,Event Processors(事件处理器)负责处理这些事件,包括调用适当的Event Handlers(事件处理翻译 2017-10-19 15:18:27 · 2268 阅读 · 0 评论 -
Axon Framework官方文档(六)
6. Event Handling(事件处理)事件监听器是作用于传入事件的组件。它们通常基于由命令模型做出的决策执行逻辑。通常,这包括更新视图模型或将更新转发到其他组件,如第三方集成。在某些情况下,事件处理程序将根据所接收到的事件(模式)将事件本身抛出,甚至发送命令来触发进一步的更改。6.1 Defining Event Handlers(定义事件处理器)在Axon中,对象可以通过@ eventh翻译 2017-10-17 18:38:53 · 1372 阅读 · 0 评论 -
Axon Framework官方文档(五)
5.Command Model在基于CQRS的应用程序中,一个领域模型(由Eric Evans和Martin Fowler提出的概念)可以是一种非常强大的机制,它可以利用状态更改的验证和执行所涉及的复杂性。虽然典型的领域模型有大量的构建块,但其中一个在CQRS中应用于命令处理时起着主导作用:聚合。应用程序中的状态更改以命令开始。命令是表达意图(描述您想要完成的),以及基于该意图进行操作所需的信息的翻译 2017-10-17 17:39:29 · 2304 阅读 · 0 评论 -
Axon Framework官方文档(三)
3.Messaging concepts(消息概念)Axon的核心概念之一是消息传递。组件之间的所有通信都是使用消息对象完成的。这种模式为这些组件提供了位置透明性,以便在必要时能够伸缩和分发这些组件。尽管所有这些消息都实现了Message接口,但不同类型的消息和如何对待它们之间存在明显的区别。所有消息都包含有效负载(payload)、元数据(META-DATA)和惟一标识符。消息的有效负载是这条翻译 2017-10-17 12:55:47 · 2294 阅读 · 0 评论 -
Axon Framework官方文档(十三)
13. Advanced Customizations(高级定制)13.1 Parameter Resolvers(参数解析) 你可以通过拓展ParameterResolverFactory以及创建名字为/META-INF/service/org.axonframework.common.annotation.ParameterResolverFactory文件,其中包含实现类的完全限定名称,这样就翻译 2017-10-19 19:23:20 · 556 阅读 · 0 评论 -
Axon Framework官方文档(十二)
12. Spring Boot AutoConfigurationAxon对Springboot的自动配置的支持是最简单的选择,可以用它开始配置Axon基础设施组件。你只需添axon-spring-boot-starter依赖,Axon将自动配置基本的基础设施组件(命令总线、事件总线),以及运行和存储聚合和Sagas所需的任何组件。根据在应用程序上下文中的其他组件,如果他们在应用程序上下文中不是已翻译 2017-10-19 18:47:41 · 2242 阅读 · 0 评论 -
Axon Framework官方文档(四)
4.Configuration API(配置API)在业务逻辑和基础设施配置方面,Axon保持严格的分离。为了做到这一点,Axon将提供一些构建块来处理基础设施方面的问题,比如消息处理程序周围的事务管理。消息的实际有效负载和处理程序的内容在(尽可能多的)独立的Java类中实现。为了使这些基础结构组件的配置更容易,并定义它们与每个功能组件的关系,Axon提供了一个配置API。4.1 Setting翻译 2017-10-17 14:37:31 · 1140 阅读 · 0 评论