在一段时间的不活动之后,我在一个find
调用(默认Java驱动程序)中遇到了这个错误.我试图添加一个手动心跳(写入一个封顶的集合),但没有帮助.我只在连接到compose上的实例时才遇到问题(即,不在本地上下文中).
MongoDB版本是3.2.8,最新的驱动程序(3.3),使用Java8.
知道吗?
在一段时间的不活动之后,我在一个find
调用(默认Java驱动程序)中遇到了这个错误.我试图添加一个手动心跳(写入一个封顶的集合),但没有帮助.我只在连接到compose上的实例时才遇到问题(即,不在本地上下文中).
MongoDB版本是3.2.8,最新的驱动程序(3.3),使用Java8.
知道吗?
我同意Rhangaun的回答,以下是我在JAVA代码中的解决方案:
public static DB getMongoDB() {
MongoClientOptions.Builder builder = new MongoClientOptions.Builder();
//build the connection options
builder.maxConnectionIdleTime(60000);//set the max wait time in (ms)
MongoClientOptions opts = builder.build();
char[] password2 = "mypassword".toCharArray();
MongoCredential credential2 = MongoCredential.createCredential("username", "databasename",password2);
//add your option to the connection
MongoClient mongoClient = new MongoClient(new ServerAddress("server ip",27017), Arrays.asList(credential2),opts);
//use your database
cachedDb = mongoClient.getDB("databasename");
return cachedDb;
}
这是我的研究链接:http://3t.io/blog/how-to-prevent-your-connection-from-dropping-with-hosted-mongodb-instances/
希望对你有帮助.