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) 个答案