Esempio n. 1
0
  /**
   * 初始化集群<br>
   * 集群的其它客户端设定参数使用全局设定<br>
   * 集群中每一个实例成员用一个group表示,例如:<br>
   * [db0] host = 10.11.49.157:27117 [db1] host = 10.11.49.157:27118 [db2] host = 10.11.49.157:27119
   */
  public synchronized void initCloud() {
    if (groups == null || groups.length == 0) {
      throw new UtilException("Please give replication set groups!");
    }

    if (setting == null) {
      // 若未指定配置文件,则使用默认配置文件
      setting = new Setting(MONGO_CONFIG_PATH, Setting.DEFAULT_CHARSET, true);
    }

    List<ServerAddress> addrList = new ArrayList<ServerAddress>();
    for (String group : groups) {
      addrList.add(createServerAddress(group));
    }

    try {
      mongo = new MongoClient(addrList, buildMongoClientOptions(StrUtil.EMPTY));
    } catch (Exception e) {
      log.error("Init MongoDB connection error!", e);
      return;
    }

    log.info("Init MongoDB cloud Set pool with connection to {}", addrList);
  }