diff --git a/README.md b/README.md index bb9a22d..7f7362d 100644 --- a/README.md +++ b/README.md @@ -10,5 +10,7 @@ Connects to a replica set and bulk inserts a number of random documents. Uses th - Documents are sent to the products collection in a user defined database. -This is sample source provided as an example and is not supported in any way by MongoDB. +This sample application is provided to demonstrate integration capability. Users +should review this code for component versioning and overall applicability for +their own use case. diff --git a/pom.xml b/pom.xml index c27ab10..4b345e2 100644 --- a/pom.xml +++ b/pom.xml @@ -5,91 +5,70 @@ org.springframework.boot spring-boot-starter-parent - 2.6.10 - + 3.2.5 + com.mongodb.examples SpringDataBulkInsert - 0.0.1-SNAPSHOT SpringDataBulkInsert SpringDataBulkInsert - 11 + 17 + org.springframework.boot - spring-boot-starter-data-mongodb - 2.7.2 - - - - org.mongodb - bson - 4.0.6 - - - - org.mongodb - mongodb-driver-sync - 4.0.6 - - - - org.mongodb - mongodb-driver-core - 4.0.6 + spring-boot-starter-web + org.springframework.boot - spring-boot-configuration-processor - true + spring-boot-starter-data-mongodb + + org.projectlombok lombok true + + org.springframework.boot spring-boot-starter-test test + + + org.junit.vintage + junit-vintage-engine + + - io.github.hakky54 - sslcontext-kickstart - 7.4.5 - - - - com.github.javafaker - javafaker - 1.0.2 + net.datafaker + datafaker + 2.4.3 + - org.hibernate - hibernate-validator - 7.0.4.Final + io.github.hakky54 + sslcontext-kickstart + 8.3.7 + org.springframework.boot spring-boot-maven-plugin - - - - org.projectlombok - lombok - - - diff --git a/src/main/java/com/mongodb/examples/springdatabulkinsert/CustomProductsRepositoryImpl.java b/src/main/java/com/mongodb/examples/springdatabulkinsert/CustomProductsRepositoryImpl.java index 56e5ab6..6a7e04c 100644 --- a/src/main/java/com/mongodb/examples/springdatabulkinsert/CustomProductsRepositoryImpl.java +++ b/src/main/java/com/mongodb/examples/springdatabulkinsert/CustomProductsRepositoryImpl.java @@ -23,8 +23,12 @@ public class CustomProductsRepositoryImpl implements CustomProductsRepository { private static final Logger LOG = LoggerFactory .getLogger(CustomProductsRepository.class); + private final MongoTemplate mongoTemplate; + @Autowired - MongoTemplate mongoTemplate; + public CustomProductsRepositoryImpl(MongoTemplate mongoTemplate){ + this.mongoTemplate = mongoTemplate; + } public void updateProductQuantity(String name, int newQuantity) { diff --git a/src/main/java/com/mongodb/examples/springdatabulkinsert/MongoConfig.java b/src/main/java/com/mongodb/examples/springdatabulkinsert/MongoConfig.java index 628e19f..6a26171 100644 --- a/src/main/java/com/mongodb/examples/springdatabulkinsert/MongoConfig.java +++ b/src/main/java/com/mongodb/examples/springdatabulkinsert/MongoConfig.java @@ -4,7 +4,6 @@ import com.mongodb.MongoClientSettings; import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClients; -import nl.altindag.ssl.SSLFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @@ -12,6 +11,7 @@ import javax.net.ssl.SSLContext; import java.nio.file.Paths; +import nl.altindag.ssl.SSLFactory; @Configuration public class MongoConfig { @@ -19,6 +19,7 @@ public class MongoConfig { private String uri; @Value("${mongodb.database}") private String databaseName; + @Value("${truststore.path}") private String trustStorePath; @Value("${truststore.pwd}") @@ -35,7 +36,6 @@ public MongoClient mongo() { MongoClientSettings mongoClientSettings = MongoClientSettings.builder() .applyConnectionString(connectionString) .applyToSslSettings(builder -> { - if (!atlas) { // Use SSLContext if a trustStore has been provided if (!trustStorePath.isEmpty()) { diff --git a/src/main/java/com/mongodb/examples/springdatabulkinsert/Products.java b/src/main/java/com/mongodb/examples/springdatabulkinsert/Products.java index 9cf5714..2d968e3 100644 --- a/src/main/java/com/mongodb/examples/springdatabulkinsert/Products.java +++ b/src/main/java/com/mongodb/examples/springdatabulkinsert/Products.java @@ -1,6 +1,6 @@ package com.mongodb.examples.springdatabulkinsert; -import com.github.javafaker.Faker; +import net.datafaker.Faker; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.data.annotation.Id; diff --git a/src/main/java/com/mongodb/examples/springdatabulkinsert/SpringDataBulkInsertApplication.java b/src/main/java/com/mongodb/examples/springdatabulkinsert/SpringDataBulkInsertApplication.java index e25d65b..58346b5 100644 --- a/src/main/java/com/mongodb/examples/springdatabulkinsert/SpringDataBulkInsertApplication.java +++ b/src/main/java/com/mongodb/examples/springdatabulkinsert/SpringDataBulkInsertApplication.java @@ -29,5 +29,6 @@ public void run(String... args) throws Exception { repository.bulkInsertProducts(count); LOG.info("End run"); + System.exit(1); } } diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index e0204af..3fd734d 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,9 +1,7 @@ mongodb.database=bulk -#mongodb.uri=mongodb://root:P4ssw0rd@m01.mdbkrb5.net:37017,m02.mdbkrb5.net:37017,m03.mdbkrb5.net:37017/admin?authMechanism=SCRAM-SHA-1&authSource=admin&tls=true - -mongodb.uri=mongodb+srv://root:P4ssw0rd@realmcluster.hqulf.mongodb.net/?retryWrites=true&w=majority +mongodb.uri= mongodb.atlas=1 truststore.path=/etc/ssl/truststore.jks