diff --git a/src/main/java/org/cleverframe/fastdfs/conn/DefaultCommandExecutor.java b/src/main/java/org/cleverframe/fastdfs/conn/DefaultCommandExecutor.java index 5c2eb51dc55c1f45cec2ff489ffe24dcbb63656a..665fcf69456d94ba99fca11de80f67caa62d1636 100644 --- a/src/main/java/org/cleverframe/fastdfs/conn/DefaultCommandExecutor.java +++ b/src/main/java/org/cleverframe/fastdfs/conn/DefaultCommandExecutor.java @@ -38,27 +38,15 @@ public class DefaultCommandExecutor implements CommandExecutor { */ private ConnectionPool pool; + /** * 构造函数 * - * @param trackerStr Tracker Server服务器IP地址,格式 host:port(多个用用“,”隔开) - * @param pool 连接池 + * @param trackers Tracker Server服务器IP地址集合 + * @param pool 连接池 */ - public DefaultCommandExecutor(String trackerStr, ConnectionPool pool) { - logger.debug("初始化Tracker Server连接 {}", trackerStr); - Set trackerSet = new HashSet(); - String[] trackerArray = StringUtils.split(trackerStr, ","); - for (String tracker : trackerArray) { - if (StringUtils.isBlank(tracker)) { - continue; - } - trackerSet.add(tracker.trim()); - } - if (trackerSet.size() <= 0) { - throw new RuntimeException("Tracker Server服务器IP地址解析失败[" + trackerStr + "]"); - } - this.pool = pool; - trackerLocator = new TrackerLocator(trackerSet); + public DefaultCommandExecutor(String trackers, ConnectionPool pool) { + this(StringUtils.string2Set(trackers, ","), pool); } /** @@ -73,6 +61,7 @@ public class DefaultCommandExecutor implements CommandExecutor { trackerLocator = new TrackerLocator(trackerSet); } + @Override public T execute(TrackerCommand command) { Connection conn; diff --git a/src/main/java/org/cleverframe/fastdfs/utils/StringUtils.java b/src/main/java/org/cleverframe/fastdfs/utils/StringUtils.java index d771ce2c12492ea079eeee0c0d1765bd3386e71e..e967799e808582b10e30bbe176aaa0589abec5a1 100644 --- a/src/main/java/org/cleverframe/fastdfs/utils/StringUtils.java +++ b/src/main/java/org/cleverframe/fastdfs/utils/StringUtils.java @@ -1,7 +1,9 @@ package org.cleverframe.fastdfs.utils; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; @SuppressWarnings("Duplicates") public class StringUtils { @@ -319,4 +321,25 @@ public class StringUtils { public static T defaultIfBlank(final T str, final T defaultStr) { return isBlank(str) ? defaultStr : str; } + + + /** + * + * @param source the string to parse may be null + * @param separator the separate character + * @return + */ + public static Set string2Set(String source,String separator){ + if(isBlank(source)){ + return null; + } + Set resultSet = new HashSet(); + if (!StringUtils.isBlank(source)) { + String[] trackerArr=source.split(separator); + for (String tracker:trackerArr) { + resultSet.add(tracker); + } + } + return resultSet; + } }