我正在尝试使用spring-boot连接mongodb。在执行此操作时,出现此错误
[localhost:27107] org.mongodb.driver.cluster : Exception in monitor thread while connecting to server localhost:27107
com.mongodb.MongoSocketOpenException: Exception opening socket
快速搜索建议我将其添加到主类中
@SpringBootApplication
@EnableAutoConfiguration(exclude={MongoAutoConfiguration.class})
我做了那件事之后,错误就消失了。但是该数据库尚未在mongodb中创建,并且当我检查spring-boot日志时,没有与mongodb相关的日志。
在此处附加我的POM.XML
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-mongodb</artifactId>
<version>4.1.3</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>com.mysema.maven</groupId>
<artifactId>apt-maven-plugin</artifactId>
<version>1.1.3</version>
<dependencies>
<dependency>
<groupId>com.querydsl</groupId>
<artifactId>querydsl-apt</artifactId>
<version>4.1.3</version>
</dependency>
</dependencies>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>process</goal>
</goals>
<configuration>
<outputDirectory>target/generated-sources/annotations</outputDirectory>
<processor>
org.springframework.data.mongodb.repository.support.MongoAnnotationProcessor
</processor>
<logOnlyOnError>true</logOnlyOnError>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
请让我知道您是否可以帮助我
答案 0 :(得分:0)
我遇到了同样的问题-mongo表示它已通过端口和群集以及所有内容连接到DB,但是当它尝试在数据库上启动监视器时,连接被拒绝。在检查了所有可能的mongo配置之后,事实证明问题出在我的防火墙中-它阻止了我的java连接,因此当netty尝试连接到mongo时,防火墙阻止了该连接。
我希望有帮助。
答案 1 :(得分:0)
@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
将此添加到主类。
答案 2 :(得分:-1)
仅为测试配置嵌入式MongoDB应该消除该错误。