private boolean renew() { BasicDBObject query = new BasicDBObject(); query.put(MongoMutex.LOCK_NAME, lock.lockName); query.put(MongoMutex.OWNER, lock.clientName); BasicDBObject update = new BasicDBObject(); update.put(MongoMutex.UPDATE_TIME, new Date()); BasicDBObject u = new BasicDBObject(); u.put(MongoOperand.set, update); //MongoMutex.logger.debug("renew: {}, {}", query, u); try { return MongoUtils.wrapperUpdate(lock.coll, query, u); } catch (MongoException e) { MongoMutex.logger.error("mongo exception while trying renew mongo lock: " + lock.lockName + ", " + lock.clientName, e); return false; } catch (Exception e) { MongoMutex.logger.error("unexpected exception while trying renew mongo lock: " + lock.lockName + ", " + lock.clientName, e); return false; } } }
boolean success = MongoUtils.wrapperUpdate(coll, query, u); if (!success) { logger.warn("unlock failed: {}, {}", lockName, clientName);
boolean success = MongoUtils.wrapperUpdate(coll, query, u); if (success) { ownerThread = Thread.currentThread();
boolean updated = MongoUtils.wrapperUpdate(dbCollection, query, update); if (!updated) { StringBuilder sb = new StringBuilder();
@Test public void testWrapperUpdate() { MongoDataSource ds = getDataSource(); Mongo mongo = ds.getMongoInstance(); mongo.dropDatabase(DB); DBCollection coll = mongo.getDB(DB).getCollection(COLL); coll.setWriteConcern(WriteConcern.SAFE); BasicDBObject o1 = new BasicDBObject().append("name", "value"); coll.insert(o1); BasicDBObject o2 = new BasicDBObject().append("name", "newValue"); BasicDBObject update = new BasicDBObject().append("$set", o2); Assert.assertTrue(MongoUtils.wrapperUpdate(coll, o1, update)); Assert.assertEquals(1, coll.count(o2)); Assert.assertFalse(MongoUtils.wrapperUpdate(coll, o1, update)); } }
boolean updated = MongoUtils.wrapperUpdate(collection, query, update); if (!updated) { StringBuilder sb = new StringBuilder();