Mongo で古くなった接続を自動的に更新する最良の方法は何ですか?
mongod サービスをリサイクルした後、Liferay ポートレットから次の例外が発生します。
com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/connection_test
Mongo で古くなった接続を自動的に更新する最良の方法は何ですか?
mongod サービスをリサイクルした後、Liferay ポートレットから次の例外が発生します。
com.mongodb.MongoException$Network: can't call something : /127.0.0.1:27017/connection_test
DBCollection
それぞれが要求される前に接続をポーリングするコードを書くことになりました。
private DBCollection safeColl(String pCollectionName, DBCollection pColl) {
try {
if (log.isDebugEnabled()) {
log.debug("getting safe coll count on coll: " + pColl.getName());
}
pColl.count();
} catch (MongoException e) {
if (e.getMessage().startsWith("can't call something")) {
pColl = getCollection(pCollectionName, true);
return pColl;
} else {
throw e;
}
}
return pColl;
}
コードに「例外を処理してロジックを再試行する」必要があります。これは役立つかもしれません:例外、および接続がリセットされたときに再試行する最善の方法は?