# MongoHelper.java


/**
 * MongoDB帮助类。
 *
 * @author kitty 2018-10-24.
 */
public class MongoHelper {

    private static Logger logger = LoggerFactory.getLogger(MongoHelper.class);

    private static MongoClient client;

    private static String name;
    private static String password;
    private static String dbName;
    private static String addressList;

    static {
        try {
            name = EtcdUtil.getV("/mongodb/tk/username", "");
            password = EtcdUtil.getV("/mongodb/tk/password", "");
            dbName = EtcdUtil.getV("/mongodb/tk/dbName", "");
            addressList = EtcdUtil.getV("/mongodb/tk/addresses", "");

            List<ServerAddress> serverAddresses = new ArrayList<>();
            if (null != addressList && !"".equals(addressList)) {
                String[] list = addressList.split(",");
                for (String s : list) {
                    String[] address = s.split(":");
                    serverAddresses.add(new ServerAddress(address[0], Integer.parseInt(address[1])));
                }
            }
            MongoCredential credential = MongoCredential.createCredential(name, dbName, password.toCharArray());
            MongoClientSettings settings = MongoClientSettings.builder().credential(credential)
                    .applyToClusterSettings(builder -> builder.hosts(serverAddresses)).build();
            client = MongoClients.create(settings);
            logger.info("初始化MongoDB连接成功,连接地址为: " + addressList);
        } catch (Exception e) {
            logger.error("初始化MongoDB连接失败!", e);
        }
    }

    public static final MongoDatabase DB = client.getDatabase(dbName);
    
}

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
更新时间: 2021-04-28 09:24:43