是否有从2.4.3版本3.1.1轴突迁移任何特定的方式

问题描述 投票:2回答:1

我是新来的轴突和做迁移的轴突2.4.3至3.1.1,但我无法找到任何迁移指南,适用于其他版本?能否请您分享您对如何做同样的经历。我现在面临很多问题,有些类已被删除,一些包已被更改。对于一些类,我甚至无法找到替代品,所以请帮我一些建议。如果是相同的指南,请提供给我的那个链接。

提前致谢

Acctually我无法找到替代这些它都在那里轴突2.4.3 ClusteringEventBus- DefaultClusterSelector- EventBusTerminal- SimpleCluster- SpringAMQPTerminal- SpringAMQPConsumerConfiguration- ListenerContainerLifecycleManager-

java spring rabbitmq cqrs axon
1个回答
3
投票

当前有没有正式的轴突2.x到3.x中的迁移指南,虽然它是要引入的积压。我可以,但是,给你一对夫妇的指针,你应该寻找,而迁移:

  1. AbstractAnnotatedAggregateRoot没有你的聚集存在的必要,因此将其删除。
  2. 在您的集合体发布事件现在与静态AggregateLifecycle.apply()功能完成的,因此将其导入。
  3. AbstractAnnotatedSaga没有你的传奇故事不再必要,因此将其删除。
  4. 如果在Spring应用程序,建议使用您的聚集体@Aggregate注释通知Spring创建所有的聚合所需的豆类(仓库,工厂,,,)。
  5. 如果在Spring应用程序,建议使用你的英雄传奇的@Saga注释通知Spring创建所有需要的豆(资料库,经理,,,)的传奇。
  6. 该qazxsw POI表中有一个附加的qazxsw POI列,而如果你已经有相当长的一段事件需要正确的迁移。 domain_event_entry后给出了一些见解轴突框架的用户是如何解决这个。
  7. 轴突2.X你有集群的概念,是你能集团的事件处理组件在这已经更换因事件处理小组,在那里你有(按事件到事件处理globalIndex之间进行选择的可能性组件)和This(拉存储事件,并在事件处理组件处理它们)。
  8. 在春/轴突2.x的搭配,你可能通过Spring XML中使用的配置。在3.x中,你可以使用(1)SubscribingEventProcessor API,(2)使用TrackingEventProcessor标注上一个Spring配置类或(3 - 推荐)使用Configurer依赖自动让你的所有轴突豆。

这是我能想到的在我脑海的顶部,但我可能忘了一些三分球。您还可以找到有关移民@EnableAxon一些信息,或者更一般的axon-spring-boot-starter可能有你要找一些事情。

顺便说一句,随时更新你的问题,然后我可以更新我的答案填写你仍然失踪的空白!

更新

该位是关于您要更新从2.4.3到3.1.1时缺少特定的类:

就像我在前面响应,子弹7点所分享的是准确的,在轴突2.X整个集群的做法已经被替换为轴突3.x的事件处理方法从概念上没有太大的改变了这里,它的内部却具有不同的行为,并有意地更简洁。所以,简单的答案是,所有这些类已经被事件处理器,为其文档in this Axon User Group post更换。

因为这是不是非常有帮助的一切,我给你一个明确的答案给你缺少帮助你的类。这是相当长的,所以要做好准备:

  • Axon User Group:这是在地方事件发布到事件处理组件的集群。轴突3.x中,这是一个现在后面的处理小组,通过无论是认购或跟踪落实处理。因此,不搜索here将事件发布到组。所有3.X ClusteringEventBus实现将知道如何将事件发布到ClusteringEventBus,而EventBus将拉动从商店本身(所以不涉及总线)的事件。
  • SubscribingEventProcessor:群集选择器是负责分组事件处理组件/事件监听到群集的。由于共享,我们不再把一组事件监听器作为一个集群,但作为一个处理小组。在3.X的行为是这样的:你的事件监听器实现的包名是处理集团使用的名称。但是,您可以覆盖这一点,但加入TrackingEventProcessor作为一类级别的注释你的事件监听器实现。轴突3.x的结构会自动组具有相同处理组名称相同的事件处理器的下事件监听器(其在2.4.x的将转化为相同的群集)。默认情况下,使用的事件处理器实现将被订阅。这可以被调整,以在配置跟踪。
  • DefaultClusterSelector:正如我较早前解释如下,也不再是一个@ProcessingGroup({processing-group-name})。这已经换成了SimpleCluster接口,这是由注册和跟踪事件处理器上实现。
  • SimpleCluster:该EventProcessor是负责发布活动,以正确的集群,尽管本地或远程。由于共享,我们不再有集群,但事件处理器组。事件如何得到一个事件处理器取决于所使用的执行情况。如果订阅(读:默认的事件处理器)时,该EventBusTerminal负责发布的事件给他们的。该EventBusTerminal将然而,异步,启动它自己的线程(S)拉从EventBus事件和发生这些事件发送至其事件侦听器。因此,你不必再搜索TrackingEventProcessor,因为它已经过时了。
  • EventStore:正如我上面共享的EventBusTerminal一直赞成认购或跟踪的方法去除。由于轴突3.1.1,春季AMQP我们已经有了一个订阅事件处理器实现监听事件,并把它们发布到队列,这是SpringAMQPTerminal
  • EventBusTerminal:此配置类是在地方,因为SpringAMQPPublisher介绍的时候,春天没有因为它在轴突3.x中的引入点创建SpringAMQPConsumerConfiguration因此,有决定对保持我们自己的配置设置为这个消费者和留给春天的主管手中。因此,你不会找到axon-amqp和应搜索Spring如何对AMQP创建消费者。
  • ListenerContainers:这个类是正确接收所有的事件从队列接收和发送它们到您的所有事件侦听器的执行。此类已被替换为SpringAMQPConsumerConfiguration

希望这给你的答案你要找的@AS!

© www.soinside.com 2019 - 2024. All rights reserved.