diff --git a/mongodb/pom.xml b/mongodb/pom.xml
index 965744e8..4dcde8af 100644
--- a/mongodb/pom.xml
+++ b/mongodb/pom.xml
@@ -37,10 +37,6 @@
util
-
- 2.1.1
-
-
diff --git a/mongodb/util/src/main/java/example/springdata/mongodb/util/EmbeddedMongo.java b/mongodb/util/src/main/java/example/springdata/mongodb/util/EmbeddedMongo.java
index d5213385..32e50a6f 100644
--- a/mongodb/util/src/main/java/example/springdata/mongodb/util/EmbeddedMongo.java
+++ b/mongodb/util/src/main/java/example/springdata/mongodb/util/EmbeddedMongo.java
@@ -16,19 +16,18 @@
package example.springdata.mongodb.util;
import de.flapdoodle.embed.mongo.Command;
-import de.flapdoodle.embed.mongo.config.IMongoCmdOptions;
-import de.flapdoodle.embed.mongo.config.IMongodConfig;
-import de.flapdoodle.embed.mongo.config.IMongosConfig;
-import de.flapdoodle.embed.mongo.config.MongoCmdOptionsBuilder;
-import de.flapdoodle.embed.mongo.config.MongodConfigBuilder;
-import de.flapdoodle.embed.mongo.config.MongosConfigBuilder;
+import de.flapdoodle.embed.mongo.config.ImmutableMongodConfig;
+import de.flapdoodle.embed.mongo.config.ImmutableMongosConfig;
+import de.flapdoodle.embed.mongo.config.MongoCmdOptions;
+import de.flapdoodle.embed.mongo.config.MongodConfig;
+import de.flapdoodle.embed.mongo.config.MongosConfig;
import de.flapdoodle.embed.mongo.config.Net;
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.Versions;
import de.flapdoodle.embed.process.config.io.ProcessOutput;
-import de.flapdoodle.embed.process.distribution.GenericVersion;
+import de.flapdoodle.embed.process.distribution.Version;
import de.flapdoodle.embed.process.io.Processors;
import de.flapdoodle.embed.process.runtime.Network;
@@ -68,7 +67,7 @@ public class EmbeddedMongo extends ExternalResource {
private static final String STORAGE_ENGINE = "wiredTiger";
- private static final IFeatureAwareVersion VERSION = Versions.withFeatures(new GenericVersion("3.7.9"),
+ private static final IFeatureAwareVersion VERSION = Versions.withFeatures(Version.of("3.7.9"),
Feature.ONLY_WITH_SSL, Feature.ONLY_64BIT, Feature.NO_HTTP_INTERFACE_ARG, Feature.STORAGE_ENGINE,
Feature.MONGOS_CONFIGDB_SET_STYLE, Feature.NO_CHUNKSIZE_ARG);
@@ -302,12 +301,12 @@ public class EmbeddedMongo extends ExternalResource {
private void doStart() {
- Map> replicaSets = new LinkedHashMap<>();
+ Map> replicaSets = new LinkedHashMap<>();
replicaSets.put(configServerReplicaSetName, initConfigServers());
replicaSets.put(replicaSetName, initReplicaSet());
// create mongos
- IMongosConfig mongosConfig = defaultMongosConfig(serverVersion, mongosPort, defaultCommandOptions(),
+ MongosConfig mongosConfig = defaultMongosConfig(serverVersion, mongosPort, defaultCommandOptions(),
configServerReplicaSetName, configServerPorts[0]);
mongosTestFactory = new MongosSystemForTestFactory(mongosConfig, replicaSets, Collections.emptyList(),
@@ -328,9 +327,9 @@ public class EmbeddedMongo extends ExternalResource {
}
}
- private List initReplicaSet() {
+ private List initReplicaSet() {
- List rs = new ArrayList<>();
+ List rs = new ArrayList<>();
for (int port : serverPorts) {
rs.add(defaultMongodConfig(serverVersion, port, defaultCommandOptions(), false, true, replicaSetName));
@@ -338,9 +337,9 @@ public class EmbeddedMongo extends ExternalResource {
return rs;
}
- private List initConfigServers() {
+ private List initConfigServers() {
- List configServers = new ArrayList<>(configServerPorts.length);
+ List configServers = new ArrayList<>(configServerPorts.length);
for (Integer port : configServerPorts) {
configServers.add(
@@ -370,14 +369,14 @@ public class EmbeddedMongo extends ExternalResource {
/**
* @return Default {@link IMongoCmdOptions command options}.
*/
- private static IMongoCmdOptions defaultCommandOptions() {
+ private static MongoCmdOptions defaultCommandOptions() {
- return new MongoCmdOptionsBuilder() //
+ return MongoCmdOptions.builder() //
.useNoPrealloc(false) //
.useSmallFiles(false) //
.useNoJournal(false) //
- .useStorageEngine(STORAGE_ENGINE) //
- .verbose(false) //
+ .storageEngine(STORAGE_ENGINE) //
+ .isVerbose(false) //
.build();
}
@@ -392,16 +391,16 @@ public class EmbeddedMongo extends ExternalResource {
* @param replicaSet
* @return
*/
- private static IMongodConfig defaultMongodConfig(IFeatureAwareVersion version, int port, IMongoCmdOptions cmdOptions,
+ private static MongodConfig defaultMongodConfig(IFeatureAwareVersion version, int port, MongoCmdOptions cmdOptions,
boolean configServer, boolean shardServer, String replicaSet) {
try {
- MongodConfigBuilder builder = new MongodConfigBuilder() //
+ ImmutableMongodConfig.Builder builder = MongodConfig.builder() //
.version(version) //
- .withLaunchArgument("--quiet") //
+ .putArgs("--quiet", null) //
.net(new Net(LOCALHOST, port, Network.localhostIsIPv6())) //
- .configServer(configServer).cmdOptions(cmdOptions); //
+ .isConfigServer(configServer).cmdOptions(cmdOptions); //
if (StringUtils.hasText(replicaSet)) {
@@ -409,9 +408,9 @@ public class EmbeddedMongo extends ExternalResource {
.replication(new Storage(null, replicaSet, 0));
if (!configServer) {
- builder = builder.shardServer(shardServer);
+ builder = builder.isShardServer(shardServer);
} else {
- builder = builder.shardServer(false);
+ builder = builder.isShardServer(false);
}
}
@@ -431,14 +430,14 @@ public class EmbeddedMongo extends ExternalResource {
* @param configServerPort
* @return
*/
- private static IMongosConfig defaultMongosConfig(IFeatureAwareVersion version, int port, IMongoCmdOptions cmdOptions,
+ private static MongosConfig defaultMongosConfig(IFeatureAwareVersion version, int port, MongoCmdOptions cmdOptions,
String configServerReplicaSet, int configServerPort) {
try {
- MongosConfigBuilder builder = new MongosConfigBuilder() //
+ ImmutableMongosConfig.Builder builder = MongosConfig.builder() //
.version(version) //
- .withLaunchArgument("--quiet", null) //
+ .putArgs("--quiet", null) //
.net(new Net(LOCALHOST, port, Network.localhostIsIPv6())) //
.cmdOptions(cmdOptions);
diff --git a/mongodb/util/src/main/java/example/springdata/mongodb/util/MongosSystemForTestFactory.java b/mongodb/util/src/main/java/example/springdata/mongodb/util/MongosSystemForTestFactory.java
index 7cc0458a..99dce6bd 100644
--- a/mongodb/util/src/main/java/example/springdata/mongodb/util/MongosSystemForTestFactory.java
+++ b/mongodb/util/src/main/java/example/springdata/mongodb/util/MongosSystemForTestFactory.java
@@ -22,11 +22,10 @@ import de.flapdoodle.embed.mongo.MongodStarter;
import de.flapdoodle.embed.mongo.MongosExecutable;
import de.flapdoodle.embed.mongo.MongosProcess;
import de.flapdoodle.embed.mongo.MongosStarter;
-import de.flapdoodle.embed.mongo.config.IMongodConfig;
-import de.flapdoodle.embed.mongo.config.IMongosConfig;
+import de.flapdoodle.embed.mongo.config.MongodConfig;
+import de.flapdoodle.embed.mongo.config.MongosConfig;
import de.flapdoodle.embed.mongo.config.Net;
-import de.flapdoodle.embed.mongo.config.RuntimeConfigBuilder;
-import de.flapdoodle.embed.process.config.IRuntimeConfig;
+import de.flapdoodle.embed.process.config.RuntimeConfig;
import de.flapdoodle.embed.process.config.io.ProcessOutput;
import lombok.SneakyThrows;
@@ -63,9 +62,9 @@ class MongosSystemForTestFactory {
public static final String REPLICA_SET_NAME = "rep1";
public static final String OPLOG_COLLECTION = "oplog.rs";
- private final IMongosConfig config;
- private final Map> replicaSets;
- private final List configServers;
+ private final MongosConfig config;
+ private final Map> replicaSets;
+ private final List configServers;
private final String shardDatabase;
private final String shardCollection;
private final String shardKey;
@@ -76,9 +75,8 @@ class MongosSystemForTestFactory {
private List mongodProcessList;
private List mongodConfigProcessList;
- public MongosSystemForTestFactory(IMongosConfig config,
- Map> replicaSets,
- List configServers, String shardDatabase,
+ public MongosSystemForTestFactory(MongosConfig config, Map> replicaSets,
+ List configServers, String shardDatabase,
String shardCollection, String shardKey, Function outputFunction) {
this.config = config;
this.replicaSets = replicaSets;
@@ -92,33 +90,33 @@ class MongosSystemForTestFactory {
public void start() throws Throwable {
this.mongodProcessList = new ArrayList<>();
this.mongodConfigProcessList = new ArrayList<>();
- for (Entry> entry : replicaSets.entrySet()) {
+ for (Entry> entry : replicaSets.entrySet()) {
initializeReplicaSet(entry);
}
- for (IMongodConfig config : configServers) {
+ for (MongodConfig config : configServers) {
initializeConfigServer(config);
}
initializeMongos();
configureMongos();
}
- private void initializeReplicaSet(Entry> entry)
+ private void initializeReplicaSet(Entry> entry)
throws Exception {
String replicaName = entry.getKey();
- List mongoConfigList = entry.getValue();
+ List mongoConfigList = entry.getValue();
if (mongoConfigList.size() < 3) {
throw new Exception(
"A replica set must contain at least 3 members.");
}
// Create 3 mongod processes
- for (IMongodConfig mongoConfig : mongoConfigList) {
+ for (MongodConfig mongoConfig : mongoConfigList) {
if (!mongoConfig.replication().getReplSetName().equals(replicaName)) {
throw new Exception(
"Replica set name must match in mongo configuration");
}
- IRuntimeConfig runtimeConfig = new RuntimeConfigBuilder()
- .defaultsWithLogger(Command.MongoD,logger)
+ RuntimeConfig runtimeConfig = RuntimeConfig.builder()
+ // .defaultsWithLogger(Command.MongoD,logger)
.processOutput(outputFunction.apply(Command.MongoD))
.build();
MongodStarter starter = MongodStarter.getInstance(runtimeConfig);
@@ -142,7 +140,7 @@ class MongosSystemForTestFactory {
replicaSetSetting.put("_id", replicaName);
BasicDBList members = new BasicDBList();
int i = 0;
- for (IMongodConfig mongoConfig : mongoConfigList) {
+ for (MongodConfig mongoConfig : mongoConfigList) {
DBObject host = new BasicDBObject();
host.put("_id", i++);
host.put("host", mongoConfig.net().getServerAddress().getHostName()
@@ -192,7 +190,7 @@ class MongosSystemForTestFactory {
return true;
}
- private void initializeConfigServer(IMongodConfig config) throws Exception {
+ private void initializeConfigServer(MongodConfig config) throws Exception {
if (!config.isConfigServer()) {
throw new Exception(
"Mongo configuration is not a defined for a config server.");
@@ -204,8 +202,8 @@ class MongosSystemForTestFactory {
}
private void initializeMongos() throws Exception {
- MongosStarter runtime = MongosStarter.getInstance(new RuntimeConfigBuilder()
- .defaultsWithLogger(Command.MongoS,logger)
+ MongosStarter runtime = MongosStarter.getInstance(RuntimeConfig.builder()
+ // .defaultsWithLogger(Command.MongoS,logger)
.processOutput(outputFunction.apply(Command.MongoS))
.build());
@@ -223,11 +221,11 @@ class MongosSystemForTestFactory {
MongoDatabase mongoAdminDB = mongo.getDatabase(ADMIN_DATABASE_NAME);
// Add shard from the replica set list
- for (Entry> entry : this.replicaSets
+ for (Entry> entry : this.replicaSets
.entrySet()) {
String replicaName = entry.getKey();
String command = "";
- for (IMongodConfig mongodConfig : entry.getValue()) {
+ for (MongodConfig mongodConfig : entry.getValue()) {
if (command.isEmpty()) {
command = replicaName + "/";
} else {