開發一半給了我一個應用程式,我不得不完成開發,但由于許可問題,我被要求洗掉 mongodb 并改用 couchdb。現在,我已經在代碼中洗掉了所有mongodb連接實體,從application.properties中洗掉了mongo連接屬性,但是當我啟動spring應用程式時,我仍然不斷收到以下錯誤。
2022-01-21 15:58:14.043 INFO --- [localhost:27017] omdcluster:連接到服務器 localhost:27017 com.mongodb.MongoSocketOpenException 時監控執行緒出現例外:在 com.mongodb.internal.connection 處打開套接字例外。 com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:180) 處的 SocketStream.open(SocketStream.java:70) com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:188) at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:152) at java.lang.Thread.run(Thread.java:748) 原因:java.net.ConnectException:連接被拒絕:連接在java.net 上的 java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)。DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) 在 java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl .java:188) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:607)在 com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:107) 在 com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) 在 com.mongodb.internal.connection.SocketStream.open (SocketStream.java:65) ... 4 更多doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java :172) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:607) 在 com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java: 107) 在 com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) 在 com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) ... 4 更多doConnect(AbstractPlainSocketImpl.java:350) 在 java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) 在 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java :172) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 在 java.net.Socket.connect(Socket.java:607) 在 com.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java: 107) 在 com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) 在 com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) ... 4 更多在 com.mongodb.internal.connection.SocketStreamHelper.initialize 的 java.net.Socket.connect(Socket.java:607) 的 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 的 connect(PlainSocketImpl.java:172) (SocketStreamHelper.java:107) 在 com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) 在 com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) ... 4 更多在 com.mongodb.internal.connection.SocketStreamHelper.initialize 的 java.net.Socket.connect(Socket.java:607) 的 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) 的 connect(PlainSocketImpl.java:172) (SocketStreamHelper.java:107) 在 com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) 在 com.mongodb.internal.connection.SocketStream.open(SocketStream.java:65) ... 4 更多
我的 pom.xml 看起來像這樣,我無法從中洗掉 mongo 依賴項,因為仍在使用 bson 檔案類。
4.0.0
<hidden>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<hidden>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.2</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
<hidden>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
</dependency>
<dependency>
<groupId>io.jsonwebtoken</groupId>
<artifactId>jjwt</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</dependency>
<dependency>
<groupId>org.ektorp</groupId>
<artifactId>org.ektorp</artifactId>
<version>1.4.4</version>
</dependency>
<dependency>
<groupId>org.lightcouch</groupId>
<artifactId>lightcouch</artifactId>
<version>0.2.0</version>
</dependency>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<hidden>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
這是我的 application.properties
spring.data.couchdb.host=localhost
spring.data.couchdb.port=5984
spring.data.couchdb.authentication-database=hidden
spring.data.couchdb.username=hidden
spring.data.couchdb.password=hidden
spring.data.couchdb.database=hidden
spring.data.couchdb.uri=http://localhost:5984
# JWT configuration
jwt.secret = authsecret
jwt.expirationDateInMs=600000
jwt.refreshExpirationDateInMs=600000
運行應用程式沒有問題,但需要洗掉此錯誤。任何幫助,將不勝感激
uj5u.com熱心網友回復:
您必須洗掉此依賴項
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
默認情況下,spring 自動配置正在啟動并嘗試打開和創建連接。
或者另一種方法是從 spring 應用程式中排除自動配置,如下所示:
@SpringBootApplication(exclude = {
MongoAutoConfiguration.class,
MongoDataAutoConfiguration.class
})
public class SampleApplication{...}
我建議您更好地洗掉依賴項,因為您已決定從應用程式中洗掉 mongodb。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/421533.html
標籤:
