Merge branch '2.7.x'

This commit is contained in:
Andy Wilkinson 2022-03-16 14:14:35 +00:00
commit 23b5a3f70e
5 changed files with 11 additions and 45 deletions

View File

@ -24,7 +24,6 @@ import java.util.Map;
import java.util.stream.Stream; import java.util.stream.Stream;
import com.mongodb.MongoClientSettings; import com.mongodb.MongoClientSettings;
import de.flapdoodle.embed.mongo.Command;
import de.flapdoodle.embed.mongo.MongodExecutable; import de.flapdoodle.embed.mongo.MongodExecutable;
import de.flapdoodle.embed.mongo.MongodStarter; import de.flapdoodle.embed.mongo.MongodStarter;
import de.flapdoodle.embed.mongo.config.Defaults; import de.flapdoodle.embed.mongo.config.Defaults;
@ -32,10 +31,10 @@ import de.flapdoodle.embed.mongo.config.ImmutableMongodConfig;
import de.flapdoodle.embed.mongo.config.MongodConfig; import de.flapdoodle.embed.mongo.config.MongodConfig;
import de.flapdoodle.embed.mongo.config.Net; import de.flapdoodle.embed.mongo.config.Net;
import de.flapdoodle.embed.mongo.config.Storage; import de.flapdoodle.embed.mongo.config.Storage;
import de.flapdoodle.embed.mongo.distribution.Feature;
import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion; import de.flapdoodle.embed.mongo.distribution.IFeatureAwareVersion;
import de.flapdoodle.embed.mongo.distribution.Version; import de.flapdoodle.embed.mongo.distribution.Version;
import de.flapdoodle.embed.mongo.distribution.Versions; import de.flapdoodle.embed.mongo.distribution.Versions;
import de.flapdoodle.embed.mongo.packageresolver.Command;
import de.flapdoodle.embed.process.config.RuntimeConfig; import de.flapdoodle.embed.process.config.RuntimeConfig;
import de.flapdoodle.embed.process.config.process.ProcessOutput; import de.flapdoodle.embed.process.config.process.ProcessOutput;
import de.flapdoodle.embed.process.config.store.DownloadConfig; import de.flapdoodle.embed.process.config.store.DownloadConfig;
@ -146,7 +145,6 @@ public class EmbeddedMongoAutoConfiguration {
private IFeatureAwareVersion determineVersion(EmbeddedMongoProperties embeddedProperties) { private IFeatureAwareVersion determineVersion(EmbeddedMongoProperties embeddedProperties) {
Assert.state(embeddedProperties.getVersion() != null, "Set the spring.mongodb.embedded.version property or " Assert.state(embeddedProperties.getVersion() != null, "Set the spring.mongodb.embedded.version property or "
+ "define your own MongodConfig bean to use embedded MongoDB"); + "define your own MongodConfig bean to use embedded MongoDB");
if (embeddedProperties.getFeatures() == null) {
for (Version version : Version.values()) { for (Version version : Version.values()) {
if (version.asInDownloadPath().equals(embeddedProperties.getVersion())) { if (version.asInDownloadPath().equals(embeddedProperties.getVersion())) {
return version; return version;
@ -154,9 +152,6 @@ public class EmbeddedMongoAutoConfiguration {
} }
return Versions.withFeatures(createEmbeddedMongoVersion(embeddedProperties)); return Versions.withFeatures(createEmbeddedMongoVersion(embeddedProperties));
} }
return Versions.withFeatures(createEmbeddedMongoVersion(embeddedProperties),
embeddedProperties.getFeatures().toArray(new Feature[0]));
}
private GenericVersion createEmbeddedMongoVersion(EmbeddedMongoProperties embeddedProperties) { private GenericVersion createEmbeddedMongoVersion(EmbeddedMongoProperties embeddedProperties) {
return de.flapdoodle.embed.process.distribution.Version.of(embeddedProperties.getVersion()); return de.flapdoodle.embed.process.distribution.Version.of(embeddedProperties.getVersion());

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2012-2021 the original author or authors. * Copyright 2012-2022 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -16,10 +16,6 @@
package org.springframework.boot.autoconfigure.mongo.embedded; package org.springframework.boot.autoconfigure.mongo.embedded;
import java.util.Set;
import de.flapdoodle.embed.mongo.distribution.Feature;
import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.convert.DataSizeUnit; import org.springframework.boot.convert.DataSizeUnit;
import org.springframework.util.unit.DataSize; import org.springframework.util.unit.DataSize;
@ -43,12 +39,6 @@ public class EmbeddedMongoProperties {
private final Storage storage = new Storage(); private final Storage storage = new Storage();
/**
* Comma-separated list of features to enable. Uses the defaults of the configured
* version by default.
*/
private Set<Feature> features = null;
public String getVersion() { public String getVersion() {
return this.version; return this.version;
} }
@ -57,14 +47,6 @@ public class EmbeddedMongoProperties {
this.version = version; this.version = version;
} }
public Set<Feature> getFeatures() {
return this.features;
}
public void setFeatures(Set<Feature> features) {
this.features = features;
}
public Storage getStorage() { public Storage getStorage() {
return this.storage; return this.storage;
} }

View File

@ -1616,9 +1616,10 @@
}, },
{ {
"name": "spring.mongodb.embedded.features", "name": "spring.mongodb.embedded.features",
"defaultValue": [ "deprecation": {
"sync_delay" "level": "error",
] "reason": "Feature support has been removed from Embedded Mongo. A custom MongodConfig bean should be defined instead."
}
}, },
{ {
"name": "spring.mustache.prefix", "name": "spring.mustache.prefix",

View File

@ -18,9 +18,7 @@ package org.springframework.boot.autoconfigure.mongo.embedded;
import java.io.File; import java.io.File;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.EnumSet;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors;
import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients; import com.mongodb.client.MongoClients;
@ -28,7 +26,6 @@ import de.flapdoodle.embed.mongo.MongodExecutable;
import de.flapdoodle.embed.mongo.MongodStarter; import de.flapdoodle.embed.mongo.MongodStarter;
import de.flapdoodle.embed.mongo.config.MongodConfig; import de.flapdoodle.embed.mongo.config.MongodConfig;
import de.flapdoodle.embed.mongo.config.Storage; import de.flapdoodle.embed.mongo.config.Storage;
import de.flapdoodle.embed.mongo.distribution.Feature;
import de.flapdoodle.embed.mongo.distribution.Version; import de.flapdoodle.embed.mongo.distribution.Version;
import de.flapdoodle.embed.process.config.RuntimeConfig; import de.flapdoodle.embed.process.config.RuntimeConfig;
import de.flapdoodle.embed.process.config.store.DownloadConfig; import de.flapdoodle.embed.process.config.store.DownloadConfig;
@ -101,15 +98,6 @@ class EmbeddedMongoAutoConfigurationTests {
assertVersionConfiguration("3.4.1", "3.4.1"); assertVersionConfiguration("3.4.1", "3.4.1");
} }
@Test
void customFeatures() {
EnumSet<Feature> features = EnumSet.of(Feature.TEXT_SEARCH, Feature.SYNC_DELAY, Feature.NO_HTTP_INTERFACE_ARG);
loadWithValidVersion("spring.mongodb.embedded.features="
+ features.stream().map(Feature::name).collect(Collectors.joining(", ")));
assertThat(this.context.getBean(EmbeddedMongoProperties.class).getFeatures())
.containsExactlyElementsOf(features);
}
@Test @Test
void useRandomPortByDefault() { void useRandomPortByDefault() {
loadWithValidVersion(); loadWithValidVersion();

View File

@ -222,7 +222,7 @@ bom {
] ]
} }
} }
library("Embedded Mongo", "3.3.1") { library("Embedded Mongo", "3.4.2") {
group("de.flapdoodle.embed") { group("de.flapdoodle.embed") {
modules = [ modules = [
"de.flapdoodle.embed.mongo" "de.flapdoodle.embed.mongo"