Ausnahme im monitor-thread während der Verbindung mit dem server localhost:27017 beim Zugriff auf MongoDB mit Java
Habe ich die folgende Ausnahme, wenn die Ausführung von Java-app für MongoDB:
[localhost:27017] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server localhost:27017 while accessing MongoDB with Java
Call-stack folgt:
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongodb-driver-core-3.0.4.jar:na]
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:114) ~[mongodb-driver-core-3.0.4.jar:na]
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:127) ~[mongodb-driver-core-3.0.4.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_45]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_45]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_45]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_45]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_45]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_45]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_45]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_45]
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:50) ~[mongodb-driver-core-3.0.4.jar:na]
at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongodb-driver-core-3.0.4.jar:na]
... 3 common frames omitted
Weder diese Namen gehören zu meiner Anwendung. Ich habe auch KEINE MONGODB-server auf dem lokalen host. Ich bin mit dem remote-host und setzen Sie es später. Tritt eine Ausnahme auf, BEVOR meine Aussagen über Mongo.
UPDATE
Dies ist wahrscheinlich einige Spring
zur Verfügung gestellt Bohnen Zugriff auf Mongo
. Wie Sie diese deaktivieren?
Meine config enthält folgende Abhängigkeiten:
dependencies {
compile('javax.media:jai_core:1.1.3')
//compile('jai_core:1.1.3')
// compile('org.springframework.boot:spring-boot-starter-data-mongodb')
compile('org.mongodb:mongodb-driver:3.0.4')
compile('org.mongodb:bson:3.0.4')
compile('org.geotools:gt-api:14.2')
compile('org.geotools:gt-shapefile:14.2')
compile('org.geotools:gt-geometry:14.2')
compile('org.geotools:gt-referencing:14.2')
compile('org.geotools:gt-geojson:14.2')
compile('org.geotools:gt-mongodb:14.2')
compile('org.springframework.boot:spring-boot-starter-web')
providedRuntime('org.springframework.boot:spring-boot-starter-tomcat')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
also ich habe entfernt org.springframework.boot:spring-boot-starter-data-mongodb
und dachte, das wird verwenden Mongo
mich...
UPDATE2
Fand ich Verwandte Frage: Zum deaktivieren der spring-data-mongodb-Autokonfiguration im Frühjahr-boot
InformationsquelleAutor Dims | 2016-02-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
War ich hinzufügen, Ausschluss Anmerkung zu meinem Haupt-annotierte Klasse,
d.h. statt der
Sollte ich
Sie sind Gott, bro.
gut gemacht, einfach aber in der Regel vergessen.
InformationsquelleAutor Dims
versuchen Sie,
Frühjahr.Daten.mongodb.host=hostIpOnWhichMongoIsRunning
Frühling.Daten.mongodb.port=27017
in der Anwendung.Eigenschaften. wenn mongo läuft nicht auf localhost, das sollte das Problem beheben.
InformationsquelleAutor Vaibhav
Es scheint Ihr server wird nicht ausgeführt.
Auch wenn es läuft, ist es dabei auf einem anderen port.
localhost
Überprüfen Sie Ihre Adresse.
Das habe ich überprüft. Es ist nicht
localhost
.Drucken Sie sich die Adresse. Gemäß der error-trace) der code ist zu erreichen auf "localhost".
InformationsquelleAutor rootExplorr
Kann ich nicht sicher sagen. Seine Art von nicht genug Informationen Frage.
Kann ich sagen, dass: mongo-Treiber standardmäßig versucht, eine Verbindung zum lokalen host.
Wahrscheinlich haben Sie noch nicht angegeben, die mongo-host/port.
So müssen Sie zum konfigurieren der mongo db host/port/credentials (wenn Sie diese haben).
Vielleicht seine Netzwerk-Problem oder eine firewall (versuchen zu verbinden, mongo db von Ihrem Computer direkt mit cli /noch läuft ein basic-Programm, das verwendet nur mongo-Treiber).
Aus der stacktrace ich sehe nicht, jede Nutzung von spring, so dass mehr Informationen erforderlich ist, sicher zu sagen.
Im Allgemeinen können Sie analysieren die Abhängigkeiten von gradle durch die Verwendung
gradle dependencies
Befehl (siehe Hier)Hoffe, das hilft
InformationsquelleAutor Mark Bramnik