fix MongoDS bug

This commit is contained in:
Looly 2021-05-08 19:46:37 +08:00
parent 660c8c58d0
commit d79585799b
2 changed files with 25 additions and 24 deletions

View File

@ -19,6 +19,7 @@
* 【extra 】 修复Sftp.mkDirs报错问题issue#1536@Github * 【extra 】 修复Sftp.mkDirs报错问题issue#1536@Github
* 【core 】 修复Bcrypt不支持$2y$盐前缀问题pr#1560@Github * 【core 】 修复Bcrypt不支持$2y$盐前缀问题pr#1560@Github
* 【system 】 修复isWindows8拼写问题pr#1557@Github * 【system 】 修复isWindows8拼写问题pr#1557@Github
* 【db 】 修复MongoDS默认分组参数失效问题issue#1548@Github
------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------

View File

@ -21,7 +21,7 @@ import java.util.List;
/** /**
* MongoDB工具类 * MongoDB工具类
* *
* @author xiaoleilu * @author xiaoleilu
* *
*/ */
@ -44,7 +44,7 @@ public class MongoDS implements Closeable {
/** /**
* 构造MongoDB数据源<br> * 构造MongoDB数据源<br>
* 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败 * 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败
* *
* @param host 主机域名或者IP * @param host 主机域名或者IP
* @param port 端口 * @param port 端口
*/ */
@ -56,7 +56,7 @@ public class MongoDS implements Closeable {
/** /**
* 构造MongoDB数据源<br> * 构造MongoDB数据源<br>
* 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败 * 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败
* *
* @param mongoSetting MongoDB的配置文件如果是null则读取默认配置文件或者使用MongoDB默认客户端配置 * @param mongoSetting MongoDB的配置文件如果是null则读取默认配置文件或者使用MongoDB默认客户端配置
* @param host 主机域名或者IP * @param host 主机域名或者IP
* @param port 端口 * @param port 端口
@ -71,7 +71,7 @@ public class MongoDS implements Closeable {
* 构造MongoDB数据源<br> * 构造MongoDB数据源<br>
* 当提供多个数据源时这些数据源将为一个副本集或者多个mongos<br> * 当提供多个数据源时这些数据源将为一个副本集或者多个mongos<br>
* 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败 官方文档 http://docs.mongodb.org/manual/administration/replica-sets/ * 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败 官方文档 http://docs.mongodb.org/manual/administration/replica-sets/
* *
* @param groups 分组列表当为null或空时使用无分组配置一个分组使用单一模式否则使用副本集模式 * @param groups 分组列表当为null或空时使用无分组配置一个分组使用单一模式否则使用副本集模式
*/ */
public MongoDS(String... groups) { public MongoDS(String... groups) {
@ -84,7 +84,7 @@ public class MongoDS implements Closeable {
* 当提供多个数据源时这些数据源将为一个副本集或者mongos<br> * 当提供多个数据源时这些数据源将为一个副本集或者mongos<br>
* 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败<br> * 调用者必须持有MongoDS实例否则会被垃圾回收导致写入失败<br>
* 官方文档 http://docs.mongodb.org/manual/administration/replica-sets/ * 官方文档 http://docs.mongodb.org/manual/administration/replica-sets/
* *
* @param mongoSetting MongoDB的配置文件必须有 * @param mongoSetting MongoDB的配置文件必须有
* @param groups 分组列表当为null或空时使用无分组配置一个分组使用单一模式否则使用副本集模式 * @param groups 分组列表当为null或空时使用无分组配置一个分组使用单一模式否则使用副本集模式
*/ */
@ -112,16 +112,16 @@ public class MongoDS implements Closeable {
/** /**
* 初始化<br> * 初始化<br>
* 设定文件中的host和端口有三种形式 * 设定文件中的host和端口有三种形式
* *
* <pre> * <pre>
* host = host:port * host = host:port
* </pre> * </pre>
* *
* <pre> * <pre>
* host = host * host = host
* port = port * port = port
* </pre> * </pre>
* *
* <pre> * <pre>
* host = host * host = host
* </pre> * </pre>
@ -162,15 +162,15 @@ public class MongoDS implements Closeable {
* 初始化集群<br> * 初始化集群<br>
* 集群的其它客户端设定参数使用全局设定<br> * 集群的其它客户端设定参数使用全局设定<br>
* 集群中每一个实例成员用一个group表示例如 * 集群中每一个实例成员用一个group表示例如
* *
* <pre> * <pre>
* user = test1 * user = test1
* pass = 123456 * pass = 123456
* database = test * database = test
* [db0] * [db0]
* host = 192.168.1.1:27117 * host = 192.168.1.1:27117
* [db1] * [db1]
* host = 192.168.1.1:27118 * host = 192.168.1.1:27118
* [db2] * [db2]
* host = 192.168.1.1:27119 * host = 192.168.1.1:27119
* </pre> * </pre>
@ -207,7 +207,7 @@ public class MongoDS implements Closeable {
/** /**
* 设定MongoDB配置文件 * 设定MongoDB配置文件
* *
* @param setting 配置文件 * @param setting 配置文件
*/ */
public void setSetting(Setting setting) { public void setSetting(Setting setting) {
@ -223,7 +223,7 @@ public class MongoDS implements Closeable {
/** /**
* 获得DB * 获得DB
* *
* @param dbName DB * @param dbName DB
* @return DB * @return DB
*/ */
@ -233,7 +233,7 @@ public class MongoDS implements Closeable {
/** /**
* 获得MongoDB中指定集合对象 * 获得MongoDB中指定集合对象
* *
* @param dbName 库名 * @param dbName 库名
* @param collectionName 集合名 * @param collectionName 集合名
* @return DBCollection * @return DBCollection
@ -250,8 +250,8 @@ public class MongoDS implements Closeable {
// --------------------------------------------------------------------------- Private method start // --------------------------------------------------------------------------- Private method start
/** /**
* 创建ServerAddress对象会读取配置文件中的相关信息 * 创建ServerAddress对象会读取配置文件中的相关信息
* *
* @param group 分组如果为null默认为无分组 * @param group 分组如果为{@code null}或者""默认为无分组
* @return ServerAddress * @return ServerAddress
*/ */
private ServerAddress createServerAddress(String group) { private ServerAddress createServerAddress(String group) {
@ -272,7 +272,7 @@ public class MongoDS implements Closeable {
/** /**
* 创建ServerAddress对象 * 创建ServerAddress对象
* *
* @param host 主机域名或者IP如果为空默认127.0.0.1 * @param host 主机域名或者IP如果为空默认127.0.0.1
* @param port 端口如果为空默认为 * @param port 端口如果为空默认为
* @return ServerAddress * @return ServerAddress
@ -284,7 +284,7 @@ public class MongoDS implements Closeable {
/** /**
* 创建{@link MongoCredential}用于服务端验证<br> * 创建{@link MongoCredential}用于服务端验证<br>
* 此方法会首先读取指定分组下的属性用户没有定义则读取空分组下的属性 * 此方法会首先读取指定分组下的属性用户没有定义则读取空分组下的属性
* *
* @param group 分组 * @param group 分组
* @return {@link MongoCredential}如果用户未指定用户名密码返回null * @return {@link MongoCredential}如果用户未指定用户名密码返回null
* @since 4.1.20 * @since 4.1.20
@ -302,7 +302,7 @@ public class MongoDS implements Closeable {
/** /**
* 创建{@link MongoCredential}用于服务端验证 * 创建{@link MongoCredential}用于服务端验证
* *
* @param userName 用户名 * @param userName 用户名
* @param database 数据库名 * @param database 数据库名
* @param password 密码 * @param password 密码
@ -318,7 +318,7 @@ public class MongoDS implements Closeable {
/** /**
* 构件MongoDB连接选项<br> * 构件MongoDB连接选项<br>
* *
* @param group 分组,当分组对应的选项不存在时会读取根选项如果也不存在使用默认值 * @param group 分组,当分组对应的选项不存在时会读取根选项如果也不存在使用默认值
* @return MongoClientOptions * @return MongoClientOptions
*/ */
@ -328,7 +328,7 @@ public class MongoDS implements Closeable {
/** /**
* 构件MongoDB连接选项<br> * 构件MongoDB连接选项<br>
* *
* @param group 分组当分组对应的选项不存在时会读取根选项如果也不存在使用默认值 * @param group 分组当分组对应的选项不存在时会读取根选项如果也不存在使用默认值
* @return Builder * @return Builder
*/ */
@ -337,7 +337,7 @@ public class MongoDS implements Closeable {
return builder; return builder;
} }
if (group == null) { if (StrUtil.isEmpty(group)) {
group = StrUtil.EMPTY; group = StrUtil.EMPTY;
} else { } else {
group = group + StrUtil.DOT; group = group + StrUtil.DOT;
@ -378,7 +378,7 @@ public class MongoDS implements Closeable {
/** /**
* 检查Setting配置文件 * 检查Setting配置文件
* *
* @return Setting配置文件 * @return Setting配置文件
*/ */
private Setting checkSetting() { private Setting checkSetting() {
@ -388,4 +388,4 @@ public class MongoDS implements Closeable {
return this.setting; return this.setting;
} }
// --------------------------------------------------------------------------- Private method end // --------------------------------------------------------------------------- Private method end
} }