将已弃用的 SimpleMongoDbFactory 修复为 SimpleMongoClientDbFactory 破坏嵌入式 Mongo 测试

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

我从事一个扩展 SimpleMongoFactory 以实现多租户的项目

public class MultiTenantMongoFactory extends SimpleMongoDbFactory {

从 Spring boot 2.1.10 迁移到 2.2.1 后,我们尝试使用推荐的类来修复弃用警告

简单MongoClientDbFactory

编译和应用程序运行良好,但集成测试被破坏。

我的分析是自动配置类EmbeddedMongoAutoConfiguration代码:

@ConditionalOnClass({ MongoClient.class, MongoClientFactoryBean.class })
static class EmbeddedMongoClientDependsOnBeanFactoryPostProcessor
        extends MongoClientDependsOnBeanFactoryPostProcessor {

    EmbeddedMongoClientDependsOnBeanFactoryPostProcessor() {
        super(MongodExecutable.class);
    }

}

哪个会打电话:

super(MongoClient.class, MongoClientFactoryBean.class, dependsOn);

仅适用于已弃用的 com.mongodb.MongoClient,不推荐使用 com.mongodb.client.MongoClient

这不是 EmbeddedMongoAutoConfiguration 可能与推荐类兼容的问题吗?

java mongodb spring-boot embedded-database
1个回答
0
投票

尝试 mongoDB 的新 API:SimpleMongoClientDatabaseFactory

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