如何解决SSLSessionContext 内存泄漏
我正在实现一个 java 服务,我们正在打开一个 mongo 客户端连接,从 mongo DB 获取数据,然后关闭连接我看到终身堆空间的内存不断增加
我尝试使用 jprofiler 进行内存分析,我看到很多 sun.security.ssl.SSLSessionImpl 实例。我正在关闭 mongo 连接,不知道为什么 SSL 连接是打开的
下面是我的 mongo 代码
------- Mongo 客户端代码 ---------
private void initMongoDB() {
if (USER_NAME == null) {
USER_NAME = envUtil.getEnvVar("mongoUserName");
}
if (PASSWORD == null) {
PASSWORD = envUtil.getEnvVar("mongoPassword");
}
String mongoURI = mongoURIBuilder(connectionString);
MongoClientURI uri = new MongoClientURI(mongoURI);
mongoClient = new MongoClient(uri);
String dbname = "SS";
database = mongoClient.getDatabase(dbname);
}
@Override
public void load() throws Exception {
try {
initMongoDB();
// Mongo load from DB code
} catch (SSInternalException ex) {
throw ex;
} catch (Exception ex) {
LogError.Log(ex,mongoObject.getDevId(),null);
throw ex;
} finally {
mongoClient.close();
}
}
当我读到 SSLSessionContext 时,我明白它是一个软引用,当需要堆内存时将被清除,但不知道如何处理这些软引用 谁能建议可以做什么
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。