#mongodb #spring-boot
#mongodb #весенняя загрузка
Вопрос:
Я пытаюсь подключить mongodb с помощью spring-boot. пока я это делаю, я получаю эту ошибку
[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, и когда я проверяю журналы весенней загрузки, нет журнала, связанного с 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>
Пожалуйста, дайте мне знать, если вы можете мне помочь
Комментарии:
1. После добавления @EnableAutoConfiguration(исключить ={MongoAutoConfiguration.class }) , это также устранило мою проблему
Ответ №1:
У меня та же проблема — mongo говорит, что он подключен к БД с помощью портов, кластеров и всего остального, но когда он пытается запустить монитор в базе данных, соединение было отклонено. После проверки всех возможных конфигураций mongo выяснилось, что проблема была в моем брандмауэре — он блокировал мои java-соединения, поэтому, когда netty попытался подключиться к mongo, брандмауэр заблокировал соединение.
Надеюсь, это поможет.
Ответ №2:
@SpringBootApplication(exclude = {MongoAutoConfiguration.class, MongoDataAutoConfiguration.class})
Добавьте это в основной класс.
Ответ №3:
Настройка встроенного MongoDB только для тестов должна устранить ошибку.