I am currently developing a Java application connected to a remote MongoDB databse.
I have implemented the authentication methods fallowing the mongo guides:
MongoCredential credential = MongoCredential.createScramSha1Credential(username, credentialDatabase, password.toCharArray()); MongoClient client = new MongoClient(new ServerAddress(hostname, port), Arrays.asList(credential)); mongoDatabase = client.getDatabase(database);
The app connect properly to the database but there is a thing i can’t understand.It connects well to the remote server,but I don’t know why it try to connect to localhost:27017.
2016-03-07 16:13:29.662 INFO 12507 --- [*.*.*:25015] org.mongodb.driver.connection : Opened connection [connectionId{localValue:1, serverValue:29}] to *.*.*.*:25015 2016-03-07 16:13:29.687 INFO 12507 --- [*.*.*:25015] org.mongodb.driver.cluster : Monitor thread successfully connected to server with description ServerDescription{address=*.*.*.*:25015, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 2, 3]}, minWireVersion=0, maxWireVersion=4, maxDocumentSize=16777216, roundTripTimeNanos=24485426} 2016-03-07 16:13:30.062 INFO 12507 --- [ main] org.mongodb.driver.cluster : Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500} 2016-03-07 16:13:30.220 INFO 12507 --- [localhost:27017] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server localhost:27017 com.mongodb.MongoSocketOpenException: Exception opening socket
So, how can I tell it I don’t want to connect to localhost ?
Thanks
Advertisement
Answer
You can exclude Mongo auto connect/(localhost:27017) by adding below annotation on spring boot Application.java
.
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class}) public class Application { // ... }