当前位置: 首页 > 知识库问答 >
问题:

com.mongodb.MongoSocketOpenException: Exception open socket (在完全删除 mongodb 之后)

常源
2023-03-14

在半开发后,我得到了一个应用程序,我必须完成开发,但由于许可问题,我被要求删除mongodb并使用couchdb。现在,我已经删除了代码中mongodb连接的所有实例,从appplication.properties中删除了mongo连接属性,但是当我启动spring应用程序时,我仍然不断收到以下错误。

2022-01-21 15:58:14.043 INFO --- [localhost:27017] o.m.d.cluster : 在连接到服务器时监视器线程中的异常 localhost:27017 com.mongodb.Mongodb.MongoSocketOpenException: Exception open socket at com.mongodb.internal.connection.SocketStream.open(SocketStream.java:70) at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:180) at 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) Cause by: java.net.ConnectException: Connection refused: connect at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85) atjava.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.PlainSocketImpl.connect(PlainSocketImpl.java:172) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:607) atcom.mongodb.internal.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:107) at com.mongodb.internal.connection.SocketStream.initializeSocket(SocketStream.java:79) at 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>

这是我的应用程序。属性


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

运行应用程序没有问题,但需要删除此错误。任何帮助都将不胜感激

共有1个答案

呼延俊风
2023-03-14

您必须消除这种依赖性

 <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。

 类似资料:
  • < b >想改进这个问题?更新问题,使其成为关于堆栈溢出的主题。 我正在尝试从我的ubuntu 12.04中完全卸载mysql。但无法。 我尝试了很多命令。但没有任何效果。任何人都可以在这里帮忙! 我不明白该怎么做。我想删除有关MySQL的所有内容。每当我试图定位它时。我明白了。 我希望一切都被删除。mysql服务器、mysql客户端、mysqls库甚至配置。 请帮帮我!!!

  • 我已经安装了oracle-jdk,所以想要完全删除openjdk,以确保所有基于Java的应用程序都将使用oracle jdk,但是当我尝试运行“sudo apt-get remove openjdk-6-”时,ubuntu会自动删除openjdk-6,但同时尝试安装openjdk-7-。那么,如何删除openjdk-6同时停止ubuntu安装openjdk-7。

  • 问题内容: 我从不同的文件夹中删除了詹金斯所有目录。但是,当我访问URL时,仍然显示jenkins登录。 我想完全卸载jenkins。已经尝试了许多来自Internet的命令,但是服务器上仍然有jenkins。 我只有通过腻子进行命令行访问,因此我尝试通过命令删除jenkins。 问题答案: 如果您的詹金斯人以服务而不是进程的形式运行,则应先使用 停止后,您可以按照与Linux风格相对应的命令按照

  • 问题内容: 我卸载了先前版本的node.js(0.8.11),并从node.js网站下载了最新版本0.10.24并进行了安装。但是,运行后,仍然表明我正在运行v0.8.11。显然,在卸载过程中遗留了一些东西,这导致我在尝试通过npm添加模块时遇到各种错误。我已经看到了针对OSX和Linux的解决方案,但找不到Windows的任何东西。我正在运行Windows 7 64位。 问题答案: 如何从Win

  • 问题内容: 我回来时在Ubuntu上安装了Docker,但是当我尝试删除Docker时,系统中仍然存在。我遵循了这个https://stackoverflow.com/a/31313851/2340159,但是没有用。 问题答案: 显然,我正在使用的系统具有 docker-ce 而不是Docker。因此,在命令下运行即可达到目的。

  • 我卸载了以前版本的Node.js(0.8.11),从Node.js网站下载了最新的0.10.24并安装了它。但是,在运行之后,它仍然表明我运行的是V0.8.11。很明显,卸载过程中留下了一些东西,这导致我在试图通过NPM添加模块时出现了各种各样的错误。我在OSX和Linux上见过解决方案,但在Windows上找不到任何解决方案。我运行的是Windows 7 64位。