I have created a config file for mongo_connection have for the SSL connection. My build is getting succesfull, but while running the app its giving error
java.lang.IllegalArgumentException: Could not find class [org.springframework.data.mongodb.MongoDatabaseFactory] error
While running the same in mongo compass i am able to connect with mongo string. please check the below code and correct where I am going wrong.
<dependencies>
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb</artifactId>
<version>2.1.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.12.7</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>bson</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-core</artifactId>
<version>4.2.3</version>
</dependency>
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongodb-driver-sync</artifactId>
<version>4.2.3</version>
</dependency>
</dependencies>
Above dependencies I have added, which is not helping.
package com.xxx.yyy.config;
import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.MongoClientURI;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
@Configuration
public class MongoDbConfig extends AbstractMongoConfiguration {
public MongoClientOptions.Builder mongoClientOptionsBuilder(){
String javaPath = System.getProperty("java.home");
System.setProperty ("javax.net.ssl.keyStore",javaPath+"/lib/security/cacerts");
System.setProperty ("javax.net.ssl.keyStorePassword","changeit");
System.out.println(javaPath);
System.out.println(System.getProperty("javax.net.ssl.keyStore"));
MongoClientOptions.Builder builder = MongoClientOptions.builder();
// MongoClientOptions options=builder.sslEnabled(true).build();
return builder;
}
MongoClientURI uri = new MongoClientURI("my_mongo_url",
mongoClientOptionsBuilder().sslEnabled(true));
@Override
public MongoClient mongoClient() {
return new MongoClient(uri);
}
@Override
protected String getDatabaseName() {
return "MY_DATABASE_NAME";
}
}
Please check and thanks in advance