【问题标题】:Axon - The type DefaultMongoTemplate is deprecatedAxon - DefaultMongoTemplate 类型已弃用
【发布时间】:2025-11-21 09:50:02
【问题描述】:

我正在开发链接中的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 代码已被弃用,它的替代品是什么?

【问题讨论】:

    标签: cqrs axon


    【解决方案1】:

    从 Axon 4.0 版开始,扩展包(如 Mongo)已移至专用存储库(您可以找到 here)。此外,当从 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。

    【讨论】:

      最近更新 更多