有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java MongoDB SocketException::连接重置

我有一个spring boot应用程序正在运行,它连接到azure云中的mongoserver。 在4秒空闲时间和失败后,应用程序继续为第一个请求获取java.net.SocketException: Connection reset异常。 然后在建立新连接后处理后续请求

Mongo客户端配置

    @Bean
    public MongoClient mongoClient() {
        final String address = serverAddress;
        
        MongoCredential credential = MongoCredential.createCredential(userName, database, primaryPassword.toCharArray());
        ServerAddress sAddress = new ServerAddress(address, port);

        MongoClientOptions.Builder opBuilder = MongoClientOptions.builder();
        opBuilder.sslEnabled(true);
        opBuilder.requiredReplicaSetName(requiredReplicaSetName);
        opBuilder.maxConnectionIdleTime(1500000);
        opBuilder.socketTimeout(30000);
        opBuilder.connectTimeout(30000);

        // MongoClient
        return new MongoClient(sAddress, credential, opBuilder.build());
    }

例外情况是:

    2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT Caused by: org.springframework.data.mongodb.UncategorizedMongoDbException: Exception sending message; nested exception is com.mongodb.MongoSocketWriteException: Exception sending message
       2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT     
at org.springframework.data.mongodb.repository.query.AbstractMongoQuery.lambda$getExecution$1(AbstractMongoQuery.java:115) ~[spring-data-mongodb-2.1.14.RELEASE.jar!/:2.1.14.RELEASE]
       2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT     at 
        ... 98 common frames omitted
       2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT Caused by: com.mongodb.MongoSocketWriteException: Exception sending message
       2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT     at com.mongodb.internal.connection.InternalStreamConnection.translateWriteException(InternalStreamConnection.java:525) ~[mongo-java-driver-3.8.2.jar!/:na]
       2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT     ... 130 common frames omitted
       2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT Caused by: java.net.SocketException: Connection reset
       2020-08-05T11:40:55.34-0400 [APP/PROC/WEB/0] OUT     ... 152 common frames omitted

我尝试更改连接超时、socketimeout和maxConnectionIdleTime以增加/减少连接超时,但应用程序在空闲时间达到4秒后继续出现此异常


共 (0) 个答案