部署MongoDB集群服务
./mongod --fork --port=27018 --dbpath=../db_log/db0/ --logpath=../logs/db0.log --logappend --replSet log
./mongod --fork --port=27019 --dbpath=../db_log/db1/ --logpath=../logs/db1.log --logappend --replSet log
config={_id : 'log',members : [{_id : 0, host : '172.16.3.42:27018', priority : 1},{_id : 1, host : '172.16.3.42:27019'}]}
rs.initiate(config)
使用spring配置文件注入Mongo对象
<mongo:mongo id="mongo" replica-set="172.16.3.42:27018">
<mongo:options auto-connect-retry="true" slave-ok="true"/>
</mongo:mongo>
创建MongoTemplate对象
// 如果不用List的话,是不会在从节点进行读取的
Mongo mongo = new Mongo(Arrays.asList(new ServerAddress(server.getLog4mongoIp(), server.getLog4mongoPort())));
mongo.setReadPreference(ReadPreference.secondaryPreferred());
MongoDbFactory factory = new SimpleMongoDbFactory(mongo, server.getLog4mongoDbName());
MongoTemplate mongoTemplate = new MongoTemplate(factory);
return mongoTemplate;