在项目中,需要用到内部封装的一个jar包里面的一个工具类,通过maven的pom依赖接入后,在启动的过程中发现有mongo的引用:
但是由于用了 exclusions 标识,所以在我们引用的系统里面不加入mongo依赖,并不会影响整个系统的启动。
但是会在启动日志里面报错:
com.mongodb.MongoSocketOpenException: Exception opening socket
at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70)
at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:127)
at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:117)
at java.lang.Thread.run(Thread.java:750)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:63)
at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79)
at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65)
... 3 common frames omitted
为了解决这个问题,也是找了好多资料,最后解决问题的方法是:
在启动类上加入exclude就好了,启动日志也不会报错(前期是需要依赖的项目里面不会用到mongo,如果要用到的话,不能用这个方法)。
@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})