Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 连接到MongoDB时出错";过早到达流的末端”;_Java_Mongodb_Spring Boot_Docker - Fatal编程技术网

Java 连接到MongoDB时出错";过早到达流的末端”;

Java 连接到MongoDB时出错";过早到达流的末端”;,java,mongodb,spring-boot,docker,Java,Mongodb,Spring Boot,Docker,我正在运行一个spring引导应用程序,它连接到本地mongodb docker容器,并使用MongoRepository执行一些CRUD操作。但在启动应用程序时,我发现以下错误: 2021-05-10 01:19:06.476 INFO 92347 --- [ main] com.hyperion.mongo.MongoDemoApplication : Starting MongoDemoApplication using Java 11.0.10 on XXXXXX

我正在运行一个spring引导应用程序,它连接到本地mongodb docker容器,并使用MongoRepository执行一些CRUD操作。但在启动应用程序时,我发现以下错误:

2021-05-10 01:19:06.476  INFO 92347 --- [           main] com.hyperion.mongo.MongoDemoApplication  : Starting MongoDemoApplication using Java 11.0.10 on XXXXXX-MacBook-Pro.local with PID 92347 (/Users/XXXXXX/cloudmaker/mongo-demo/target/classes started by XXXXXXXXX in /Users/XXXXXXX/cloudmaker/mongo-demo)
2021-05-10 01:19:06.478  INFO 92347 --- [           main] com.hyperion.mongo.MongoDemoApplication  : No active profile set, falling back to default profiles: default
2021-05-10 01:19:07.062  INFO 92347 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Bootstrapping Spring Data MongoDB repositories in DEFAULT mode.
2021-05-10 01:19:07.114  INFO 92347 --- [           main] .s.d.r.c.RepositoryConfigurationDelegate : Finished Spring Data repository scanning in 48 ms. Found 1 MongoDB repository interfaces.
2021-05-10 01:19:07.511  INFO 92347 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat initialized with port(s): 8080 (http)
2021-05-10 01:19:07.524  INFO 92347 --- [           main] o.apache.catalina.core.StandardService   : Starting service [Tomcat]
2021-05-10 01:19:07.525  INFO 92347 --- [           main] org.apache.catalina.core.StandardEngine  : Starting Servlet engine: [Apache Tomcat/9.0.43]
2021-05-10 01:19:07.597  INFO 92347 --- [           main] o.a.c.c.C.[Tomcat].[localhost].[/]       : Initializing Spring embedded WebApplicationContext
2021-05-10 01:19:07.597  INFO 92347 --- [           main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 1077 ms
2021-05-10 01:19:07.759  INFO 92347 --- [           main] org.mongodb.driver.cluster               : Cluster created with settings {hosts=[localhost:8082], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}
2021-05-10 01:19:07.818  INFO 92347 --- [-localhost:8082] org.mongodb.driver.cluster               : Exception in monitor thread while connecting to server localhost:8082

com.mongodb.MongoSocketReadException: Prematurely reached end of stream
    at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:112) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.SocketStream.read(SocketStream.java:131) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnection.receiveResponseBuffers(InternalStreamConnection.java:648) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnection.receiveMessageWithAdditionalTimeout(InternalStreamConnection.java:513) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:356) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:280) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.CommandHelper.sendAndReceive(CommandHelper.java:83) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.CommandHelper.executeCommand(CommandHelper.java:33) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initializeConnectionDescription(InternalStreamConnectionInitializer.java:107) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnectionInitializer.initialize(InternalStreamConnectionInitializer.java:62) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.InternalStreamConnection.open(InternalStreamConnection.java:144) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.lookupServerDescription(DefaultServerMonitor.java:188) ~[mongodb-driver-core-4.1.1.jar:na]
    at com.mongodb.internal.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:144) ~[mongodb-driver-core-4.1.1.jar:na]
    at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]

2021-05-10 01:19:08.179  INFO 92347 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2021-05-10 01:19:08.313  WARN 92347 --- [           main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates or check your Thymeleaf configuration)
2021-05-10 01:19:08.383  INFO 92347 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2021-05-10 01:19:08.393  INFO 92347 --- [           main] com.hyperion.mongo.MongoDemoApplication  : Started MongoDemoApplication in 2.301 seconds (JVM running for 2.689)
pom.xml:

 <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.3</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.hyperion</groupId>
<artifactId>mongo-demo</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>mongo-demo</name>
<description>Demo project for Spring Boot</description>
<properties>
    <java.version>1.8</java.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-mongodb</artifactId>
    </dependency>
    <dependency>
docker-compose.yml

version: '3.1'
services:

  mongo:
    image: mongo
    restart: always
    ports:
      - 8082:8082
MongoDB服务器版本:4.4.5


我尝试使用不同的MongoDB版本来检查是否存在驱动程序兼容性问题,但这也不起作用。请提供帮助。

mongo db的默认端口是27017,因此,在docker compose文件中,您应该将mongo的端口配置更改为
-8082:8082
version: '3.1'
services:

  mongo:
    image: mongo
    restart: always
    ports:
      - 8082:8082