我有两个不同的数据库(firstDB,secondDB),分别连接到每个数据库都可以正常工作,但如果在一个会话中我尝试连接到第二个数据库,我得到一个错误,我连接到第一个没有问题
public static MongoDatabase dbConnect() {
System.setProperty("javax.net.ssl.keyStore", "src/main/resources/firstDB.pkcs12");
System.setProperty("javax.net.ssl.keyStorePassword", "qwerty");
ConnectionString connectionString = new ConnectionString(System.getenv("FirstMongoDB_DEV"));
CodecRegistry pojoCodecRegistry = fromProviders(PojoCodecProvider.builder().automatic(true).build());
CodecRegistry codecRegistry = fromRegistries(MongoClientSettings.getDefaultCodecRegistry(),
pojoCodecRegistry);
MongoClientSettings clientSettings = MongoClientSettings.builder()
.applyConnectionString(connectionString)
.codecRegistry(codecRegistry)
.build();
return MongoClients.create(clientSettings).getDatabase("firstDB");
}两者要连接的代码是相似的,所以如果我调用firstDB连接它就可以正常工作,如果在那之后我调用连接到secondDB,我会得到com.mongodb.MongoSocketReadException:过早到达流的末尾如果我交换连接,首先到secondDB然后到firstDB,我会得到相同的结果
发布于 2020-12-15 22:56:23
问题是JVM不知道如何动态地更改helped的keyStore库。
https://stackoverflow.com/questions/65302430
复制相似问题