springboot+mongodb報錯Caused by: java.net.ConnectException: Connection refused (Connection refused)


com.mongodb.MongoSocketOpenException: Exception opening socket

at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongodb-driver-core-3.4.3.jar:na]
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongodb-driver-core-3.4.3.jar:na]
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongodb-driver-core-3.4.3.jar:na]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_161]


Caused by: java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_161]
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_161]
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[na:1.8.0_161]
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_161]
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_161]
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_161]
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_161]
at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_161]
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) ~[mongodb-driver-core-3.4.3.jar:na]
at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongodb-driver-core-3.4.3.jar:na]
... 3 common frames omitted

網上搜索了一下解決方案

1.說是springboot自動配置了支持mongodb。在啟動springboot時會自動實例化一個mongo實例。 要加上
@SpringBootApplication(exclude = MongoAutoConfiguration.class),但是我的不行,原文鏈接如下。

http://blog.csdn.net/xuyw10000/article/details/72918360

2.說在配置文件里把初始的 mongodb 取消掉就好了(不懂怎么取消)

.http://www.cnblogs.com/zhuangfei/p/7338488.html

3.最后發現我用的idea,spring initializr選擇的依賴是testCompile的,在運行環境下沒有

 這是springboot默認的

 

testCompile('de.flapdoodle.embed:de.flapdoodle.embed.mongo')

打包成jar在Linux下運行報錯

 

改成

compile('de.flapdoodle.embed:de.flapdoodle.embed.mongo')

 正常運行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM