首页 > 解决方案 > Axon - DefaultMongoTemplate 类型已弃用

问题描述

我正在Spring Boot + AXON从链接开发示例:https ://blog.novatec-gmbh.de/event-sourcing-spring-boot-axon/并且刚刚更新了 Spring Boot 版本2.1.0.RELEASE

此行有多个标记 - 不推荐使用 DefaultMongoTemplate 类型 - 不推荐使用构造函数 DefaultMongoTemplate(MongoClient)

代码

import com.mongodb.MongoClient;
import org.axonframework.eventsourcing.eventstore.EventStorageEngine;
import org.axonframework.mongo.eventsourcing.eventstore.DefaultMongoTemplate;
import org.axonframework.mongo.eventsourcing.eventstore.MongoEventStorageEngine;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AggregateConfig {
    @Bean
    public EventStorageEngine eventStore(MongoClient client) {
        return new MongoEventStorageEngine(new DefaultMongoTemplate(client));
    }

}

看起来 DefaultMongoTemplate 代码已被弃用,它的替代品是什么?

在此处输入图像描述

标签: cqrsaxon

解决方案


从 Axon 4.0 版开始,扩展包(如 Mongo)已移至专用存储库(您可以在此处找到)。此外,当从 Axon 3.x 升级到 4.0 时,我们已经替换了基础设施组件上的几个构造函数,以支持 Builder 模式。经历了这种变化的其中之一就是DefaultMongoTemplate.

不过,我刚刚查看了 Axon 3.x(因为我假设您目前没有查看 4.0),并且org.axonframework.mongo.eventhandling.saga.repository.DefaultMongoTemplate不推荐使用org.axonframework.mongo.DefaultMongoTemplate. 我现在从 javadoc 中提取了这个,所以我希望你能看到它。

无论如何,我希望这可以帮助你!如果您有更改,我建议升级到 Axon 4.x,因为新功能将添加到该版本而不是 3.x 版本中。


推荐阅读