我不能在Springboot-Kotlin中排除MongoAutoConfiguration(MongoSocketOpenException)

时间:2017-09-18 14:28:01

标签: spring mongodb spring-mvc spring-boot kotlin

enter image description here

我在尝试排除MongoAutoConfiguration时遇到MongoSocketOpenException。我正在尝试连接到远程MongoDB。考虑到我在Kotlin工作,@ EnableAutoConfiguration语法是否正确?

例外:

com.mongodb.MongoSocketOpenException: Exception opening socket
        at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongo-java-driver-3.4.2.jar:na]
        at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongo-java-driver-3.4.2.
jar:na]
        at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongo-java-
driver-3.4.2.jar:na]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_20]
Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) ~[na:1.8.0_20]
        at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) ~[na:1.8.0_20]
        at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:345) ~[na:1.8.0_20]
        at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) ~[na:1.8.0_20]
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[na:1.8.0_20]
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) ~[na:1.8.0_20]
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[na:1.8.0_20]
        at java.net.Socket.connect(Socket.java:589) ~[na:1.8.0_20]
        at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) ~[mongo-java-driver-3.4.2.jar:na]

        at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongo-java-driver-3.4.2.jar:na]
        ... 3 common frames omitted

3 个答案:

答案 0 :(得分:5)

Kotlin 中没有类似java的数组初始化。它应该是

@EnableAutoConfiguration(exclude = arrayOf(MongoAutoConfiguration::class))

答案 1 :(得分:1)

这样更好

@EnableAutoConfiguration(exclude = [MongoAutoConfiguration::class])

答案 2 :(得分:-1)

如果您使用的是@SpringBootApplication注释而不是@EnableAutoConfiguration,则必须在其中添加注释:

@SpringBootApplication(exclude={MongoAutoConfiguration.class})