Skip to content

Commit

Permalink
CAMEL-8668: MongoDbTailTrackingManager to MongoDB 3
Browse files Browse the repository at this point in the history
  • Loading branch information
anoordover authored and davsclaus committed Jun 3, 2016
1 parent 7001753 commit 5b99703
Showing 1 changed file with 6 additions and 11 deletions.
Expand Up @@ -17,15 +17,10 @@
package org.apache.camel.component.mongodb; package org.apache.camel.component.mongodb;


import com.mongodb.BasicDBObject; import com.mongodb.BasicDBObject;
import com.mongodb.BasicDBObjectBuilder;
import com.mongodb.DBCollection;
import com.mongodb.DBObject; import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoClient; import com.mongodb.MongoClient;
import com.mongodb.WriteConcern;
import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoCollection;


import org.bson.Document;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;


Expand All @@ -37,8 +32,8 @@ public class MongoDbTailTrackingManager {


private final MongoClient connection; private final MongoClient connection;
private final MongoDbTailTrackingConfig config; private final MongoDbTailTrackingConfig config;
private MongoCollection<Document> dbCol; private MongoCollection<BasicDBObject> dbCol;
private Document trackingObj; private BasicDBObject trackingObj;


public MongoDbTailTrackingManager(MongoClient connection, MongoDbTailTrackingConfig config) { public MongoDbTailTrackingManager(MongoClient connection, MongoDbTailTrackingConfig config) {
this.connection = connection; this.connection = connection;
Expand All @@ -50,15 +45,15 @@ public void initialize() throws Exception {
return; return;
} }


dbCol = connection.getDatabase(config.db).getCollection(config.collection); dbCol = connection.getDatabase(config.db).getCollection(config.collection, BasicDBObject.class);
Document filter = new Document("persistentId", config.persistentId); BasicDBObject filter = new BasicDBObject("persistentId", config.persistentId);
trackingObj = dbCol.find(filter).first(); trackingObj = dbCol.find(filter).first();
if (trackingObj == null) { if (trackingObj == null) {
dbCol.insertOne(filter); dbCol.insertOne(filter);
trackingObj = dbCol.find(filter).first(); trackingObj = dbCol.find(filter).first();
} }
// keep only the _id, the rest is useless and causes more overhead during update // keep only the _id, the rest is useless and causes more overhead during update
trackingObj = new Document("_id", trackingObj.get("_id")); trackingObj = new BasicDBObject("_id", trackingObj.get("_id"));
} }


public synchronized void persistToStore() { public synchronized void persistToStore() {
Expand All @@ -70,7 +65,7 @@ public synchronized void persistToStore() {
LOG.debug("Persisting lastVal={} to store, collection: {}", lastVal, config.collection); LOG.debug("Persisting lastVal={} to store, collection: {}", lastVal, config.collection);
} }


Document updateObj = new Document().append("$set", new BasicDBObject(config.field, lastVal)); BasicDBObject updateObj = new BasicDBObject().append("$set", new BasicDBObject(config.field, lastVal));
dbCol.updateOne(trackingObj, updateObj); dbCol.updateOne(trackingObj, updateObj);
trackingObj = dbCol.find().first(); trackingObj = dbCol.find().first();
} }
Expand Down

0 comments on commit 5b99703

Please sign in to comment.