Skip to content

Commit 92aecc4

Browse files
committed
Merge pull request #14 from tdudek/master
added configuration parameter "options" (MongoOptions)
2 parents be3ac7c + 70103b6 commit 92aecc4

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

Diff for: src/java/grails/plugins/mongodb/MongoHolderBean.java

+11-6
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@
33
import com.google.code.morphia.Datastore;
44
import com.google.code.morphia.DatastoreImpl;
55
import com.google.code.morphia.Morphia;
6-
import com.mongodb.DB;
7-
import com.mongodb.DBCollection;
8-
import com.mongodb.Mongo;
9-
import com.mongodb.ServerAddress;
6+
import com.mongodb.*;
107
import groovy.util.ConfigObject;
118
import org.apache.commons.logging.Log;
129
import org.apache.commons.logging.LogFactory;
@@ -50,18 +47,26 @@ public MongoHolderBean(GrailsApplication application) throws UnknownHostExceptio
5047
replicaSets = (List<String>)((ConfigObject)application.getConfig().get("mongodb")).get("replicaSet");
5148
} catch (Exception ignore) {}
5249

50+
MongoOptions mongoOptions = null;
51+
try {
52+
mongoOptions = (MongoOptions)((ConfigObject)application.getConfig().get("mongodb")).get("options");
53+
} catch (Exception ignore) { }
54+
if (mongoOptions == null) mongoOptions = new MongoOptions();
55+
5356
if (replicaSets != null) { // user replica sets
5457
log.info("Creating MongoDB connection with replica sets " + replicaSets + " and database " + database);
5558
List<ServerAddress> addressList = new ArrayList<ServerAddress>();
5659
for (String addr : replicaSets) {
5760
addressList.add(new ServerAddress(addr));
5861
}
59-
mongo = new Mongo(addressList);
62+
63+
mongo = new Mongo(addressList, mongoOptions);
6064
} else { // use host port
6165
String host = getConfigVar(flatConfig, "mongodb.host", "localhost");
6266
int port = parsePortFromConfig(getConfigVar(flatConfig, "mongodb.port", "27017"), 27017);
6367
log.info("Creating MongoDB connection to host " + host + ":" + port + " and database " + database);
64-
mongo = new Mongo(host, port);
68+
69+
mongo = new Mongo(new ServerAddress(host, port), mongoOptions);
6570
}
6671

6772
morphia = new Morphia();

0 commit comments

Comments
 (0)