Bonjour,
Je suis en train (d'essayer) de créer une applications java qui a pour but d'alimenter ma base en ligne MongoDB. Ce que j'arrive a faire si la base est en local. Cependant mon but est que plusieurs utilisateurs puisse alimenter cette base, j'ai donc créer un cluster sur MongoDB Atlas. J'ai un léger problème. J'ai autorisé toutes les adresse IP je me suis créé un compte administrateur mais la connexion bug et je ne sais pas pourquoi
il y a ci dessous ma classe pour me connecter
Code Java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package Main;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Properties;
 
import com.mongodb.MongoClient;
import com.mongodb.MongoClientURI;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase;
 
public class MongoDBConnection {
	  	private String url;
	    private static String database; //ici je met le nom de ma database
	    private int port;
	    private static MongoClient mongoClient;
	    private static MongoDatabase mongoDatabase;
 
	    private MongoDBConnection() {
	        if (mongoClient == null){
	            readConfig();
 
	            mongoDatabase = MongoClients.create(url).getDatabase(database);
 
	        }
	    }
 
	    public void readConfig(){
	        try {
	            // je charge mon fichier de configuration
	            InputStream input = new FileInputStream("config.properties");
	            Properties properties = new Properties();
	            // je charge les propriétés
	            properties.load(input);
	            // je récupère les valeurs des propriétés
	            this.url = properties.getProperty("url");
	            this.port = Integer.parseInt(properties.getProperty("port"));
	            this.database = properties.getProperty("database");
	        }catch (Exception e) {
	            e.printStackTrace();
	        }
	    }
 
	    public static MongoClient getInstance(){
	        if(mongoClient == null)
	            new MongoDBConnection();
 
	        return mongoClient;
	    }
 
	    public static MongoDatabase getDatabase() {
	        if (mongoDatabase == null)
	              new MongoDBConnection();
	        return mongoDatabase;
 
	    }
}
que j'alimente avec le fichier config.properties
url=mongodb+srv://[USER]:[MDP]@[SERVEUR]/[BASE_DE_DONNEES]?retryWrites=true&w=majority
port=27017
database=Planeo
mais il m'affiche des erreurs
mai 31, 2021 3:44:06 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster created with settings {hosts=[127.0.0.1:27017], srvHost=cluster0.artzg.mongodb.net, mode=MULTIPLE, requiredClusterType=REPLICA_SET, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500, requiredReplicaSetName='atlas-fgt2rs-shard-0'}
mai 31, 2021 3:44:06 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Cluster description not yet available. Waiting for 30000 ms before timing out
mai 31, 2021 3:44:07 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Adding discovered server cluster0-shard-00-01.artzg.mongodb.net:27017 to client view of cluster
mai 31, 2021 3:44:07 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Adding discovered server cluster0-shard-00-02.artzg.mongodb.net:27017 to client view of cluster
mai 31, 2021 3:44:07 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Adding discovered server cluster0-shard-00-00.artzg.mongodb.net:27017 to client view of cluster
mai 31, 2021 3:44:07 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: No server chosen by com.mongodb.client.internal.MongoClientDelegate$1@405377f7 from cluster description ClusterDescription{type=REPLICA_SET, connectionMode=MULTIPLE, serverDescriptions=[ServerDescription{address=cluster0-shard-00-02.artzg.mongodb.net:27017, type=UNKNOWN, state=CONNECTING}, ServerDescription{address=cluster0-shard-00-01.artzg.mongodb.net:27017, type=UNKNOWN, state=CONNECTING}, ServerDescription{address=cluster0-shard-00-00.artzg.mongodb.net:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out
mai 31, 2021 3:44:08 PM com.mongodb.diagnostics.logging.JULLogger log
INFO: Exception in monitor thread while connecting to server cluster0-shard-00-01.artzg.mongodb.net:27017
com.mongodb.MongoSocketWriteException: Exception sending message
at com.mongodb.internal.connection.InternalStreamConnection.translateWriteException(InternalStreamConnection.java:541)
at com.mongodb.internal.connection.InternalStreamConnection.sendMessage(InternalStreamConnection.java:429)
at com.mongodb.internal.connection.InternalStreamConnection.sendCommandMessage(InternalStreamConnection.java:269)
at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:253)
at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83)
at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33)
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:105)
at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62)
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127)
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
at java.base/java.lang.Thread.run(Thread.java:830)
Caused by: javax.net.ssl.SSLHandshakeException: extension (5) should not be presented in certificate_request
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:131)
at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:117)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:311)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:267)
at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:258)
at java.base/sun.security.ssl.SSLExtensions.<init>(SSLExtensions.java:90)
at java.base/sun.security.ssl.CertificateRequest$T13CertificateRequestMessage.<init>(CertificateRequest.java:818)
at java.base/sun.security.ssl.CertificateRequest$T13CertificateRequestConsumer.consume(CertificateRequest.java:922)
at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:396)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444)
at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:422)
at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:181)
at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164)
at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1460)
at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1368)
at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:437)
at java.base/sun.security.ssl.SSLSocketImpl.ensureNegotiated(SSLSocketImpl.java:878)
at java.base/sun.security.ssl.SSLSocketImpl$AppOutputStream.write(SSLSocketImpl.java:1240)
at com.mongodb.internal.connection.SocketStream.write(SocketStream.java:99)
at com.mongodb.internal.connection.InternalStreamConnection.sendMessage(InternalStreamConnection.java:426)
... 9 more
Voila je ne vois pas ce qui peut bloquer, j'ai autoriser toutes les adresse IP et mon url de connexions est bon (je vais directement le copier sur NOSQL)