public void start() throws Exception { Configuration conf = ConfigLoader.load("ingestor-cfg.xml"); this.dbName = conf.getMongoDBName(); List<ServerAddress> servers = new ArrayList<ServerAddress>(conf.getServers().size()); for (ServerInfo si : conf.getServers()) { InetAddress inetAddress = InetAddress.getByName(si.getHost()); servers.add(new ServerAddress(inetAddress, si.getPort())); } mongoClient = new MongoClient(servers); mongoClient.setWriteConcern(WriteConcern.SAFE); }
@Override protected MongoClient createInstance() throws Exception { MongoClient mongo = initMongo(); // 设定主从分离 if (readSecondary) { mongo.setReadPreference(ReadPreference.secondaryPreferred()); } // 设定写策略 mongo.setWriteConcern(writeConcern); return mongo; }