I work on a project which was extending SimpleMongoFactory to enable multi tenancy
public class MultiTenantMongoFactory extends SimpleMongoDbFactory {
After migrating from Spring boot 2.1.10 to 2.2.1, we tried to fix deprecation warning by using recommended class
SimpleMongoClientDbFactory
Compilation and application runs fine, but integration tests are broken.
My analysis is that autoconfiguration class EmbeddedMongoAutoConfiguration code :
@ConditionalOnClass({ MongoClient.class, MongoClientFactoryBean.class })
static class EmbeddedMongoClientDependsOnBeanFactoryPostProcessor
extends MongoClientDependsOnBeanFactoryPostProcessor {
EmbeddedMongoClientDependsOnBeanFactoryPostProcessor() {
super(MongodExecutable.class);
}
}
Which will call :
super(MongoClient.class, MongoClientFactoryBean.class, dependsOn);
Work only with deprecated com.mongodb.MongoClient and not recommended com.mongodb.client.MongoClient
Isn't that an issue that EmbeddedMongoAutoConfiguration may be compatible with recommended class.