diff --git a/README.md b/README.md
index bed5288e7..478fb033e 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,7 @@
Disconf [![Build Status](https://travis-ci.org/knightliao/disconf.svg?branch=master)](https://travis-ci.org/knightliao/disconf) [![Coverage Status](https://coveralls.io/repos/knightliao/disconf/badge.png?branch=master)](https://coveralls.io/r/knightliao/disconf?branch=master)
=======
-Distributed Configuration Management Platform(分布式配置管理平台)
+Distributed Configuration Management Platform(分布式配置管理平台)
专注于各种 `分布式系统配置管理` 的`通用组件`/`通用平台`, 提供统一的`配置管理服务`。
@@ -37,8 +37,8 @@ https://github.com/knightliao/disconf-demos-java
disconf.git branches and Maven version:
-- dev(develop branch): 2.6.33-SNAPSHOT
-- master(stable branch):2.6.33
+- dev(develop branch): 2.6.34
+- master(stable branch):2.6.34
- [更新日志](https://github.com/knightliao/disconf/wiki/updates)
- 在Maven Central Repository里查看 [com.baidu.disconf](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.baidu.disconf%22 )
@@ -100,7 +100,7 @@ Disconf的功能特点描述图:
com.baidu.disconf
disconf-client
- 2.6.33
+ 2.6.34
### server: disconf-web 使用 ###
@@ -147,7 +147,6 @@ APP+环境+版本+ZK查询:
- [Tutorial 6 disconf-web 功能详解](https://github.com/knightliao/disconf/wiki/Tutorial6)
- [Tutorial 7 可自定义的部分托管的分布式配置](https://github.com/knightliao/disconf/wiki/Tutorial7)
-- [Tutorial disconf与dubbo的集成 demo](https://github.com/knightliao/disconf/tree/master/disconf-demos/disconf-standalone-dubbo-demo)
- [Tutorial 9 实现真正意义上的统一上线包](https://github.com/knightliao/disconf/wiki/Tutorial9)
- [Tutorial 10 实现一个配置更新下载器agent](https://github.com/knightliao/disconf/wiki/Tutorial10)
- [Tutorial 13 增加统一的回调类,unify-notify模式:灵活处理更新配置通知](https://github.com/knightliao/disconf/wiki/Tutorial13-unify-notify)
@@ -191,4 +190,4 @@ APP+环境+版本+ZK查询:
- 搜索引擎推荐:[sov5搜索引擎, 支持谷歌网页搜索/电影搜索/资源搜索/问答搜索](http://sov5.com)
- python论坛推荐:[Django中国社区](http://www.django-china.cn/)
-- [联系与赞助作者](https://github.com/knightliao/disconf/wiki/sponsor) 捐助者会留名
+- [联系与赞助作者](https://github.com/knightliao/disconf/wiki/sponsor)
diff --git a/disconf-client/pom.xml b/disconf-client/pom.xml
index d94b61085..f14e50a10 100644
--- a/disconf-client/pom.xml
+++ b/disconf-client/pom.xml
@@ -10,7 +10,7 @@
com.baidu.disconf
disconf-base
- 2.6.33
+ 2.6.34
@@ -70,8 +70,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgr.java b/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgr.java
index 12e6ed57a..9a6e51651 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgr.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgr.java
@@ -2,6 +2,7 @@
import java.util.List;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeansException;
@@ -146,20 +147,23 @@ protected synchronized void secondScan() {
isSecondInit = true;
//
- // 不开启 则不要启动timer和打印变量map
+ // 不开启 则不要打印变量map
//
if (DisClientConfig.getInstance().ENABLE_DISCONF) {
- //
- // start timer
- //
- //startTimer();
//
- LOGGER.info("Conf File Map: {}", DisconfStoreProcessorFactory.getDisconfStoreFileProcessor()
- .confToString());
+ String data = DisconfStoreProcessorFactory.getDisconfStoreFileProcessor()
+ .confToString();
+ if (!StringUtils.isEmpty(data)) {
+ LOGGER.info("Conf File Map: {}", data);
+ }
+
//
- LOGGER.info("Conf Item Map: {}", DisconfStoreProcessorFactory.getDisconfStoreItemProcessor()
- .confToString());
+ data = DisconfStoreProcessorFactory.getDisconfStoreItemProcessor()
+ .confToString();
+ if (!StringUtils.isEmpty(data)) {
+ LOGGER.info("Conf Item Map: {}", data);
+ }
}
LOGGER.info("******************************* DISCONF END *******************************");
}
@@ -167,34 +171,31 @@ protected synchronized void secondScan() {
/**
* reloadable config file scan, for xml config
*/
- public synchronized void reloadableScan(String filename) {
+ public synchronized void reloadableScan(String fileName) {
if (!isFirstInit) {
return;
}
- if (!DisClientConfig.getInstance().ENABLE_DISCONF) {
- return;
- }
-
- //
- //
- //
+ if (DisClientConfig.getInstance().ENABLE_DISCONF) {
+ try {
- try {
+ if (!DisClientConfig.getInstance().getIgnoreDisconfKeySet().contains(fileName)) {
- if (scanMgr != null) {
- scanMgr.reloadableScan(filename);
- }
+ if (scanMgr != null) {
+ scanMgr.reloadableScan(fileName);
+ }
- if (disconfCoreMgr != null) {
- disconfCoreMgr.processFile(filename);
- }
- LOGGER.debug("disconf reloadable file: {}", filename);
+ if (disconfCoreMgr != null) {
+ disconfCoreMgr.processFile(fileName);
+ }
+ LOGGER.debug("disconf reloadable file: {}", fileName);
+ }
- } catch (Exception e) {
+ } catch (Exception e) {
- LOGGER.error(e.toString(), e);
+ LOGGER.error(e.toString(), e);
+ }
}
}
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgrBean.java b/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgrBean.java
index 2bd26b0d2..7c010fdbd 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgrBean.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/DisconfMgrBean.java
@@ -16,7 +16,7 @@
import com.baidu.disconf.client.store.aspect.DisconfAspectJ;
import com.baidu.disconf.client.store.inner.DisconfCenterHostFilesStore;
-import com.baidu.disconf.client.utils.StringUtil;
+import com.baidu.disconf.client.support.utils.StringUtil;
/**
* 第一次扫描,静态扫描
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/common/constants/SupportFileTypeEnum.java b/disconf-client/src/main/java/com/baidu/disconf/client/common/constants/SupportFileTypeEnum.java
index 87ac28db9..133b50e19 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/common/constants/SupportFileTypeEnum.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/common/constants/SupportFileTypeEnum.java
@@ -1,7 +1,7 @@
package com.baidu.disconf.client.common.constants;
import org.apache.commons.io.FilenameUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
/**
* 支持的文件后缀类型
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterFile.java b/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterFile.java
index bdf2ba94c..0381fe635 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterFile.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterFile.java
@@ -11,7 +11,7 @@
import com.baidu.disconf.client.common.constants.SupportFileTypeEnum;
import com.baidu.disconf.client.config.DisClientConfig;
-import com.baidu.disconf.client.utils.ClassUtils;
+import com.baidu.disconf.client.support.utils.ClassUtils;
import com.baidu.disconf.core.common.utils.ClassLoaderUtil;
import com.baidu.disconf.core.common.utils.OsUtil;
@@ -32,6 +32,9 @@ public class DisconfCenterFile extends DisconfCenterBaseModel {
// 额外的配置数据,非注解式使用它来存储
private Map additionalKeyMaps = new HashMap();
+ // 是否是非注解注入方式
+ private boolean isTaggedWithNonAnnotationFile = false;
+
// 配置文件类
private Class> cls;
@@ -83,6 +86,14 @@ public void setSupportFileTypeEnum(SupportFileTypeEnum supportFileTypeEnum) {
this.supportFileTypeEnum = supportFileTypeEnum;
}
+ public boolean isTaggedWithNonAnnotationFile() {
+ return isTaggedWithNonAnnotationFile;
+ }
+
+ public void setIsTaggedWithNonAnnotationFile(boolean isTaggedWithNonAnnotationFile) {
+ this.isTaggedWithNonAnnotationFile = isTaggedWithNonAnnotationFile;
+ }
+
public String getCopy2TargetDirPath() {
return copy2TargetDirPath;
}
@@ -203,10 +214,15 @@ public boolean isStatic() {
*/
public Object setValue4StaticFileItem(Object value) throws Exception {
- if (setMethod != null) {
- setMethod.invoke(null, value);
- } else {
- field.set(null, value);
+ try {
+ if (setMethod != null) {
+ setMethod.invoke(null, value);
+ } else {
+ field.set(null, value);
+ }
+
+ } catch (Exception e) {
+ LOGGER.warn(e.toString());
}
return value;
@@ -214,10 +230,14 @@ public Object setValue4StaticFileItem(Object value) throws Exception {
public Object setValue4FileItem(Object object, Object value) throws Exception {
- if (setMethod != null) {
- setMethod.invoke(object, value);
- } else {
- field.set(object, value);
+ try {
+ if (setMethod != null) {
+ setMethod.invoke(object, value);
+ } else {
+ field.set(object, value);
+ }
+ } catch (Exception e) {
+ LOGGER.warn(e.toString());
}
return value;
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterItem.java b/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterItem.java
index cf0bde898..7e742583d 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterItem.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/common/model/DisconfCenterItem.java
@@ -4,7 +4,7 @@
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
-import com.baidu.disconf.client.utils.ClassUtils;
+import com.baidu.disconf.client.support.utils.ClassUtils;
/**
* 配置项表示
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/config/DisClientConfig.java b/disconf-client/src/main/java/com/baidu/disconf/client/config/DisClientConfig.java
index b512e780a..fd3aa686a 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/config/DisClientConfig.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/config/DisClientConfig.java
@@ -29,6 +29,9 @@ public static DisClientConfig getInstance() {
protected static final String filename = "disconf.properties";
+ // disconf.properties 的路径 -D 传入
+ private static final String DISCONF_CONF_FILE_PATH_ARG = "disconf.conf";
+
private boolean isLoaded = false;
private DisClientConfig() {
@@ -52,11 +55,18 @@ public synchronized void loadConfig(String filePath) throws Exception {
String filePathInternal = filename;
+ // 指定的路径
if (filePath != null) {
-
filePathInternal = filePath;
}
+ // -d 的路径
+ // 优先使用 系统参数或命令行导入
+ String disconfFilePath = System.getProperty(DISCONF_CONF_FILE_PATH_ARG);
+ if (disconfFilePath != null) {
+ filePathInternal = disconfFilePath;
+ }
+
try {
DisconfAutowareConfig.autowareConfig(INSTANCE, filePathInternal);
} catch (Exception e) {
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/config/inner/DisInnerConfigHelper.java b/disconf-client/src/main/java/com/baidu/disconf/client/config/inner/DisInnerConfigHelper.java
index d0008d3af..f15a08c64 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/config/inner/DisInnerConfigHelper.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/config/inner/DisInnerConfigHelper.java
@@ -4,13 +4,13 @@
import java.util.List;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.baidu.disconf.client.config.DisClientConfig;
import com.baidu.disconf.client.config.DisClientSysConfig;
-import com.baidu.disconf.client.utils.StringUtil;
+import com.baidu.disconf.client.support.utils.StringUtil;
import com.baidu.disconf.core.common.utils.ClassLoaderUtil;
import com.baidu.disconf.core.common.utils.OsUtil;
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/core/filetype/impl/DisconfPropertiesProcessorImpl.java b/disconf-client/src/main/java/com/baidu/disconf/client/core/filetype/impl/DisconfPropertiesProcessorImpl.java
index c62406e70..b60986b10 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/core/filetype/impl/DisconfPropertiesProcessorImpl.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/core/filetype/impl/DisconfPropertiesProcessorImpl.java
@@ -5,7 +5,7 @@
import java.util.Properties;
import com.baidu.disconf.client.core.filetype.DisconfFileTypeProcessor;
-import com.baidu.disconf.client.utils.ConfigLoaderUtils;
+import com.baidu.disconf.client.support.utils.ConfigLoaderUtils;
/**
* Properties 处理器
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/scan/impl/ScanMgrImpl.java b/disconf-client/src/main/java/com/baidu/disconf/client/scan/impl/ScanMgrImpl.java
index 623a29a65..0d7c238ac 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/scan/impl/ScanMgrImpl.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/scan/impl/ScanMgrImpl.java
@@ -111,10 +111,6 @@ public void secondScan() throws Exception {
@Override
public void reloadableScan(String fileName) throws Exception {
- if (DisClientConfig.getInstance().getIgnoreDisconfKeySet().contains(fileName)) {
- return;
- }
-
StaticScannerNonAnnotationFileMgrImpl.scanData2Store(fileName);
}
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/dynamic/ScanDynamicStoreAdapter.java b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/dynamic/ScanDynamicStoreAdapter.java
index a031cea3f..a81cf53ea 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/dynamic/ScanDynamicStoreAdapter.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/dynamic/ScanDynamicStoreAdapter.java
@@ -15,6 +15,7 @@
import com.baidu.disconf.client.common.model.DisconfKey;
import com.baidu.disconf.client.common.update.IDisconfUpdate;
import com.baidu.disconf.client.common.update.IDisconfUpdatePipeline;
+import com.baidu.disconf.client.config.DisClientConfig;
import com.baidu.disconf.client.scan.inner.common.ScanVerify;
import com.baidu.disconf.client.scan.inner.dynamic.model.ScanDynamicModel;
import com.baidu.disconf.client.scan.inner.statically.model.ScanStaticModel;
@@ -194,6 +195,11 @@ private static IDisconfUpdatePipeline getIDisconfUpdatePipelineInstance(
private static void addOne2InverseMap(DisconfKey disconfKey, Map> inverseMap,
IDisconfUpdate iDisconfUpdate) {
+ // 忽略的key 应该忽略掉
+ if (DisClientConfig.getInstance().getIgnoreDisconfKeySet().contains(disconfKey.getKey())) {
+ return;
+ }
+
List serviceList;
if (inverseMap.containsKey(disconfKey)) {
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerFileMgrImpl.java b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerFileMgrImpl.java
index 54c86c7ca..8c1f63d0a 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerFileMgrImpl.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerFileMgrImpl.java
@@ -23,7 +23,7 @@
import com.baidu.disconf.client.scan.inner.statically.StaticScannerMgr;
import com.baidu.disconf.client.scan.inner.statically.model.ScanStaticModel;
import com.baidu.disconf.client.store.DisconfStoreProcessorFactory;
-import com.baidu.disconf.client.utils.MethodUtils;
+import com.baidu.disconf.client.support.utils.MethodUtils;
import com.baidu.disconf.core.common.constants.DisConfigTypeEnum;
import com.baidu.disconf.core.common.path.DisconfWebPathMgr;
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerItemMgrImpl.java b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerItemMgrImpl.java
index 4aea8bd6e..940eebd6e 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerItemMgrImpl.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerItemMgrImpl.java
@@ -18,7 +18,7 @@
import com.baidu.disconf.client.scan.inner.statically.StaticScannerMgr;
import com.baidu.disconf.client.scan.inner.statically.model.ScanStaticModel;
import com.baidu.disconf.client.store.DisconfStoreProcessorFactory;
-import com.baidu.disconf.client.utils.MethodUtils;
+import com.baidu.disconf.client.support.utils.MethodUtils;
import com.baidu.disconf.core.common.constants.DisConfigTypeEnum;
import com.baidu.disconf.core.common.path.DisconfWebPathMgr;
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerNonAnnotationFileMgrImpl.java b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerNonAnnotationFileMgrImpl.java
index 2fd07c7b5..7b7c2367a 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerNonAnnotationFileMgrImpl.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/impl/StaticScannerNonAnnotationFileMgrImpl.java
@@ -81,6 +81,9 @@ public static DisconfCenterBaseModel getDisconfCenterFile(String fileName) {
// file name
disconfCenterFile.setFileName(fileName);
+ // 非注解式
+ disconfCenterFile.setIsTaggedWithNonAnnotationFile(true);
+
// file type
disconfCenterFile.setSupportFileTypeEnum(SupportFileTypeEnum.getByFileName(fileName));
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/strategy/impl/ReflectionScanStatic.java b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/strategy/impl/ReflectionScanStatic.java
index 611f9b671..8e0b124f4 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/strategy/impl/ReflectionScanStatic.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/scan/inner/statically/strategy/impl/ReflectionScanStatic.java
@@ -138,10 +138,9 @@ private void analysis4DisconfFile(ScanStaticModel scanModel) {
} else {
- LOGGER
- .error("cannot find CLASS ANNOTATION " + DisconfFile.class.getName()
- + " for disconf file item: " +
- method.toString());
+ LOGGER.error("cannot find CLASS ANNOTATION " + DisconfFile.class.getName()
+ + " for disconf file item: " +
+ method.toString());
}
}
@@ -155,7 +154,7 @@ private void analysis4DisconfFile(ScanStaticModel scanModel) {
// 校验是否所有配置文件都含有配置
if (disconfFileItemMap.get(classFile).isEmpty()) {
- LOGGER.warn("disconf file hasn't any items: " + classFile.getName());
+ LOGGER.info("disconf file hasn't any items: " + classFile.getName());
continue;
}
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/store/aspect/DisconfAspectJ.java b/disconf-client/src/main/java/com/baidu/disconf/client/store/aspect/DisconfAspectJ.java
index e4e1192a5..60ff38c1e 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/store/aspect/DisconfAspectJ.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/store/aspect/DisconfAspectJ.java
@@ -17,7 +17,7 @@
import com.baidu.disconf.client.config.DisClientConfig;
import com.baidu.disconf.client.store.DisconfStoreProcessor;
import com.baidu.disconf.client.store.DisconfStoreProcessorFactory;
-import com.baidu.disconf.client.utils.MethodUtils;
+import com.baidu.disconf.client.support.utils.MethodUtils;
import com.baidu.disconf.core.common.constants.DisConfigTypeEnum;
/**
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/store/inner/DisconfCenterStore.java b/disconf-client/src/main/java/com/baidu/disconf/client/store/inner/DisconfCenterStore.java
index 1003eb1b5..2eb40a2be 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/store/inner/DisconfCenterStore.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/store/inner/DisconfCenterStore.java
@@ -70,8 +70,8 @@ public void storeOneFile(DisconfCenterBaseModel disconfCenterBaseModel) {
if (confFileMap.containsKey(fileName)) {
- LOGGER.error("There are two same fileName!!!! " + "first: " + confFileMap.get(fileName).toString() +
- ", Second: " + disconfCenterFile.toString());
+ LOGGER.error("There are two same fileName key!!!! " + "first: " + confFileMap.get(fileName).toString() +
+ "\n, Second: " + disconfCenterFile.toString());
} else {
confFileMap.put(fileName, disconfCenterFile);
}
@@ -88,7 +88,7 @@ public void storeOneItem(DisconfCenterBaseModel disconfCenterBaseModel) {
if (confItemMap.containsKey(key)) {
- LOGGER.error("There are two same fileName!!!! " + "first: " + confItemMap.get(key).getClass().toString() +
+ LOGGER.error("There are two same item key!!!! " + "first: " + confItemMap.get(key).getClass().toString() +
", Second: " + disconfCenterItem.getClass().toString());
} else {
confItemMap.put(key, disconfCenterItem);
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/store/processor/impl/DisconfStoreFileProcessorImpl.java b/disconf-client/src/main/java/com/baidu/disconf/client/store/processor/impl/DisconfStoreFileProcessorImpl.java
index 2ae5a8f04..6bbfc25c1 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/store/processor/impl/DisconfStoreFileProcessorImpl.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/store/processor/impl/DisconfStoreFileProcessorImpl.java
@@ -218,7 +218,10 @@ public void inject2Store(String fileName, DisconfValue disconfValue) {
LOGGER.error("inject2Store filename: " + fileName + " " + e.toString(), e);
}
}
- } else {
+ }
+
+ // 注解式
+ if (disconfCenterFile.isTaggedWithNonAnnotationFile()) {
//
// 非注解式 或者 注解式的域集合为空,则将 文件内容写到配置库里
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/support/DisconfAutowareConfig.java b/disconf-client/src/main/java/com/baidu/disconf/client/support/DisconfAutowareConfig.java
index 559cfee9e..8a92b75d7 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/support/DisconfAutowareConfig.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/support/DisconfAutowareConfig.java
@@ -4,14 +4,13 @@
import java.lang.reflect.Modifier;
import java.util.Properties;
-import org.apache.commons.io.FilenameUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.baidu.disconf.client.common.annotations.DisconfFileItem;
import com.baidu.disconf.client.config.inner.DisInnerConfigAnnotation;
-import com.baidu.disconf.client.utils.ClassUtils;
-import com.baidu.disconf.client.utils.ConfigLoaderUtils;
+import com.baidu.disconf.client.support.utils.ClassUtils;
+import com.baidu.disconf.client.support.utils.ConfigLoaderUtils;
/**
* 配置导入工具
@@ -32,18 +31,8 @@ private DisconfAutowareConfig() {
*/
private static Properties getProperties(final String propertyFilePath) throws Exception {
- try {
-
- // 使用全路径的配置文件载入器
- return ConfigLoaderUtils.loadConfig(propertyFilePath);
-
- } catch (Exception e) {
-
- // 只用文件名 来载入试试
- String filename = FilenameUtils.getName(propertyFilePath);
- return ConfigLoaderUtils.loadConfig(filename);
-
- }
+ // 使用全路径的配置文件载入器
+ return ConfigLoaderUtils.loadConfig(propertyFilePath);
}
/**
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/utils/ClassUtils.java b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ClassUtils.java
similarity index 98%
rename from disconf-client/src/main/java/com/baidu/disconf/client/utils/ClassUtils.java
rename to disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ClassUtils.java
index 31f2843e9..33ef9e5e7 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/utils/ClassUtils.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ClassUtils.java
@@ -1,4 +1,4 @@
-package com.baidu.disconf.client.utils;
+package com.baidu.disconf.client.support.utils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/utils/ConfigLoaderUtils.java b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ConfigLoaderUtils.java
similarity index 89%
rename from disconf-client/src/main/java/com/baidu/disconf/client/utils/ConfigLoaderUtils.java
rename to disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ConfigLoaderUtils.java
index 871d16f4c..5c11c7f61 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/utils/ConfigLoaderUtils.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ConfigLoaderUtils.java
@@ -1,9 +1,10 @@
-package com.baidu.disconf.client.utils;
+package com.baidu.disconf.client.support.utils;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
+import java.io.InputStreamReader;
import java.net.URI;
import java.net.URL;
import java.util.Properties;
@@ -49,12 +50,13 @@ private static Properties loadWithTomcatMode(final String propertyFilePath)
// http://stackoverflow.com/questions/3263560/sysloader-getresource-problem-in-java
URL url = ClassLoaderUtil.getLoader().getResource(propertyFilePath);
URI uri = new URI(url.toString());
- props.load(new FileInputStream(uri.getPath()));
+ props.load(new InputStreamReader(new FileInputStream(uri.getPath()), "utf-8"));
} catch (Exception e) {
// http://stackoverflow.com/questions/574809/load-a-resource-contained-in-a-jar
- props.load(ClassLoaderUtil.getLoader().getResourceAsStream(propertyFilePath));
+ props.load(new InputStreamReader(ClassLoaderUtil.getLoader().getResourceAsStream(propertyFilePath),
+ "utf-8"));
}
return props;
}
@@ -72,7 +74,7 @@ private static Properties loadWithNormalMode(final String propertyFilePath)
throws Exception {
Properties props = new Properties();
- props.load(new FileInputStream(propertyFilePath));
+ props.load(new InputStreamReader(new FileInputStream(propertyFilePath), "utf-8"));
return props;
}
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/utils/MethodUtils.java b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/MethodUtils.java
similarity index 92%
rename from disconf-client/src/main/java/com/baidu/disconf/client/utils/MethodUtils.java
rename to disconf-client/src/main/java/com/baidu/disconf/client/support/utils/MethodUtils.java
index 3a0d40cac..61ef096b9 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/utils/MethodUtils.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/MethodUtils.java
@@ -1,10 +1,10 @@
-package com.baidu.disconf.client.utils;
+package com.baidu.disconf.client.support.utils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -70,8 +70,7 @@ public static Method getSetterMethodFromField(Class> curClass, Field field) {
Set methods = ClassUtils.getAllMethod(curClass);
for (Method method : methods) {
- if (method.getName().toLowerCase().equals("set" + fieldName) || method.getName().toLowerCase().equals("is" +
- fieldName)) {
+ if (method.getName().toLowerCase().equals("set" + fieldName)) {
return method;
}
}
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/utils/ScanPrinterUtils.java b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ScanPrinterUtils.java
similarity index 98%
rename from disconf-client/src/main/java/com/baidu/disconf/client/utils/ScanPrinterUtils.java
rename to disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ScanPrinterUtils.java
index 7b4766d04..051e60b2f 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/utils/ScanPrinterUtils.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/ScanPrinterUtils.java
@@ -1,4 +1,4 @@
-package com.baidu.disconf.client.utils;
+package com.baidu.disconf.client.support.utils;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/utils/StringUtil.java b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/StringUtil.java
similarity index 99%
rename from disconf-client/src/main/java/com/baidu/disconf/client/utils/StringUtil.java
rename to disconf-client/src/main/java/com/baidu/disconf/client/support/utils/StringUtil.java
index af2d442e3..079f3bc0c 100644
--- a/disconf-client/src/main/java/com/baidu/disconf/client/utils/StringUtil.java
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/support/utils/StringUtil.java
@@ -1,10 +1,10 @@
-package com.baidu.disconf.client.utils;
+package com.baidu.disconf.client.support.utils;
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.StringUtils;
/**
* 有关字符串处理的工具类。
@@ -25,6 +25,7 @@ public abstract class StringUtil {
/**
* @param source
* @param token
+ *
* @return
*/
public static List parseStringToIntegerList(String source,
@@ -53,6 +54,7 @@ public static List parseStringToIntegerList(String source,
/**
* @param source
* @param token
+ *
* @return
*/
public static List parseStringToLongList(String source, String token) {
@@ -73,6 +75,7 @@ public static List parseStringToLongList(String source, String token) {
/**
* @param source
* @param token
+ *
* @return
*/
public static List parseStringToStringList(String source,
@@ -110,6 +113,7 @@ public static List parseStringToStringList(String source,
*
* @param str 要转换的字符串
* @param defaultStr 默认字符串
+ *
* @return 字符串本身或指定的默认字符串
*/
public static String defaultIfEmpty(String str, String defaultStr) {
@@ -129,6 +133,7 @@ public static String defaultIfEmpty(String str, String defaultStr) {
*
* @param str 要转换的字符串
* @param defaultStr 默认字符串
+ *
* @return 字符串本身或指定的默认字符串
*/
public static String defaultIfBlank(String str, String defaultStr) {
@@ -156,6 +161,7 @@ public static String defaultIfBlank(String str, String defaultStr) {
*
*
* @param str 要转换的字符串
+ *
* @return camel case字符串,如果原字符串为null
,则返回null
*/
public static String toCamelCase(String str) {
@@ -224,6 +230,7 @@ protected void inDelimiter(StringBuilder buffer, char ch) {
*
*
* @param str 要转换的字符串
+ *
* @return pascal case字符串,如果原字符串为null
,则返回null
*/
public static String toPascalCase(String str) {
@@ -289,6 +296,7 @@ protected void inDelimiter(StringBuilder buffer, char ch) {
*
*
* @param str 要转换的字符串
+ *
* @return 下划线分隔的大写字符串,如果原字符串为null
,则返回null
*/
public static String toUpperCaseWithUnderscores(String str) {
@@ -364,6 +372,7 @@ protected void inDelimiter(StringBuilder buffer, char ch) {
*
*
* @param str 要转换的字符串
+ *
* @return 下划线分隔的小写字符串,如果原字符串为null
,则返回null
*/
public static String toLowerCaseWithUnderscores(String str) {
@@ -417,6 +426,7 @@ protected void inDelimiter(StringBuilder buffer, char ch) {
* 将一个长整形转换成62进制的字符串。
*
* @param longValue 64位数字
+ *
* @return 62进制的字符串
*/
public static String longToString(long longValue) {
@@ -428,6 +438,7 @@ public static String longToString(long longValue) {
*
* @param longValue 64位数字
* @param noCase 区分大小写
+ *
* @return 62进制的字符串
*/
public static String longToString(long longValue, boolean noCase) {
@@ -458,6 +469,7 @@ public static String longToString(long longValue, boolean noCase) {
* 将一个byte数组转换成62进制的字符串。
*
* @param bytes 二进制数组
+ *
* @return 62进制的字符串
*/
public static String bytesToString(byte[] bytes) {
@@ -469,6 +481,7 @@ public static String bytesToString(byte[] bytes) {
*
* @param bytes 二进制数组
* @param noCase 区分大小写
+ *
* @return 62进制的字符串
*/
public static String bytesToString(byte[] bytes, boolean noCase) {
@@ -507,6 +520,7 @@ public static String bytesToString(byte[] bytes, boolean noCase) {
*
* @param str 要比较的字符串
* @param ch 结尾字符
+ *
* @return 如果字符串str
是否以字符ch
结尾,则返回true
*/
public static boolean endsWithChar(String str, char ch) {
@@ -546,6 +560,7 @@ public static boolean endsWithChar(String str, char ch) {
*
* @param str 要比较的字符串
* @param ch 开头字符
+ *
* @return 如果字符串str
是否以字符ch
开头,则返回true
*/
public static boolean startsWithChar(String str, char ch) {
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/usertools/DisconfDataGetter.java b/disconf-client/src/main/java/com/baidu/disconf/client/usertools/DisconfDataGetter.java
new file mode 100644
index 000000000..55a0be139
--- /dev/null
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/usertools/DisconfDataGetter.java
@@ -0,0 +1,47 @@
+package com.baidu.disconf.client.usertools;
+
+import java.util.Map;
+
+import com.baidu.disconf.client.usertools.impl.DisconfDataGetterDefaultImpl;
+
+/**
+ * Created by knightliao on 16/5/28.
+ */
+public class DisconfDataGetter {
+
+ private static IDisconfDataGetter iDisconfDataGetter = new DisconfDataGetterDefaultImpl();
+
+ /**
+ * 根据 分布式配置文件 获取该配置文件的所有数据,以 map形式呈现
+ *
+ * @param fileName
+ *
+ * @return
+ */
+ public static Map getByFile(String fileName) {
+ return iDisconfDataGetter.getByFile(fileName);
+ }
+
+ /**
+ * 获取 分布式配置文件 获取该配置文件 中 某个配置项 的值
+ *
+ * @param fileName
+ * @param fileItem
+ *
+ * @return
+ */
+ public static Object getByFileItem(String fileName, String fileItem) {
+ return iDisconfDataGetter.getByFileItem(fileName, fileItem);
+ }
+
+ /**
+ * 根据 分布式配置 获取其值
+ *
+ * @param itemName
+ *
+ * @return
+ */
+ public static Object getByItem(String itemName) {
+ return iDisconfDataGetter.getByItem(itemName);
+ }
+}
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/usertools/IDisconfDataGetter.java b/disconf-client/src/main/java/com/baidu/disconf/client/usertools/IDisconfDataGetter.java
new file mode 100644
index 000000000..c4b8b151d
--- /dev/null
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/usertools/IDisconfDataGetter.java
@@ -0,0 +1,39 @@
+package com.baidu.disconf.client.usertools;
+
+import java.util.Map;
+
+/**
+ * Created by knightliao on 16/5/28.
+ *
+ * 配置数据获取总控
+ */
+public interface IDisconfDataGetter {
+
+ /**
+ * 根据 分布式配置文件 获取该配置文件的所有数据,以 map形式呈现
+ *
+ * @param fileName
+ *
+ * @return
+ */
+ Map getByFile(String fileName);
+
+ /**
+ * 获取 分布式配置文件 获取该配置文件 中 某个配置项 的值
+ *
+ * @param fileName
+ * @param fileItem
+ *
+ * @return
+ */
+ Object getByFileItem(String fileName, String fileItem);
+
+ /**
+ * 根据 分布式配置 获取其值
+ *
+ * @param itemName
+ *
+ * @return
+ */
+ Object getByItem(String itemName);
+}
diff --git a/disconf-client/src/main/java/com/baidu/disconf/client/usertools/impl/DisconfDataGetterDefaultImpl.java b/disconf-client/src/main/java/com/baidu/disconf/client/usertools/impl/DisconfDataGetterDefaultImpl.java
new file mode 100644
index 000000000..44df21579
--- /dev/null
+++ b/disconf-client/src/main/java/com/baidu/disconf/client/usertools/impl/DisconfDataGetterDefaultImpl.java
@@ -0,0 +1,57 @@
+package com.baidu.disconf.client.usertools.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+
+import com.baidu.disconf.client.common.model.DisconfCenterFile;
+import com.baidu.disconf.client.common.model.DisconfCenterItem;
+import com.baidu.disconf.client.store.DisconfStoreProcessor;
+import com.baidu.disconf.client.store.DisconfStoreProcessorFactory;
+import com.baidu.disconf.client.usertools.IDisconfDataGetter;
+
+/**
+ * Created by knightliao on 16/5/28.
+ */
+public class DisconfDataGetterDefaultImpl implements IDisconfDataGetter {
+
+ @Override
+ public Map getByFile(String fileName) {
+
+ DisconfStoreProcessor disconfStoreProcessor =
+ DisconfStoreProcessorFactory.getDisconfStoreFileProcessor();
+
+ DisconfCenterFile disconfCenterFile = (DisconfCenterFile) disconfStoreProcessor.getConfData(fileName);
+ if (disconfCenterFile == null) {
+ return new HashMap();
+ }
+
+ return disconfCenterFile.getKV();
+ }
+
+ @Override
+ public Object getByFileItem(String fileName, String fileItem) {
+
+ Map map = getByFile(fileName);
+
+ if (map.containsKey(fileItem)) {
+
+ return map.get(fileItem);
+ }
+ return null;
+ }
+
+ @Override
+ public Object getByItem(String itemName) {
+
+ DisconfStoreProcessor disconfStoreProcessor =
+ DisconfStoreProcessorFactory.getDisconfStoreItemProcessor();
+
+ DisconfCenterItem disconfCenterItem = (DisconfCenterItem) disconfStoreProcessor.getConfData(itemName);
+
+ if (disconfCenterItem == null) {
+ return null;
+ }
+
+ return disconfCenterItem.getValue();
+ }
+}
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/DisconfMgrTestCase.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/DisconfMgrTestCase.java
index 2a3d8a84c..38a35ebcf 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/DisconfMgrTestCase.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/DisconfMgrTestCase.java
@@ -21,13 +21,14 @@
import com.baidu.disconf.client.store.DisconfStoreProcessorFactory;
import com.baidu.disconf.client.store.inner.DisconfCenterHostFilesStore;
import com.baidu.disconf.client.support.registry.Registry;
+import com.baidu.disconf.client.support.utils.StringUtil;
import com.baidu.disconf.client.test.common.BaseSpringMockTestCase;
import com.baidu.disconf.client.test.model.ConfA;
import com.baidu.disconf.client.test.model.ServiceA;
import com.baidu.disconf.client.test.model.StaticConf;
import com.baidu.disconf.client.test.scan.inner.ScanPackTestCase;
import com.baidu.disconf.client.test.watch.mock.WatchMgrMock;
-import com.baidu.disconf.client.utils.StringUtil;
+import com.baidu.disconf.client.usertools.DisconfDataGetter;
import com.baidu.disconf.client.watch.WatchMgr;
import mockit.Mock;
@@ -123,6 +124,8 @@ public DisconfCoreMgr getDisconfCoreMgr(Registry registry) throws Exception {
LOGGER.info(String.valueOf("static var: " + StaticConf.getStaticvar()));
Assert.assertEquals(new Integer(50).intValue(), StaticConf.getStaticvar());
+ testDynamicGetter();
+
LOGGER.info("================ AFTER DISCONF ==============================");
} catch (Exception e) {
@@ -132,6 +135,18 @@ public DisconfCoreMgr getDisconfCoreMgr(Registry registry) throws Exception {
}
}
+ private void testDynamicGetter() {
+
+ Assert.assertEquals(DisconfDataGetter.getByFile("confA.properties").get("confa.varA").toString(),
+ "1000");
+
+ Assert.assertEquals(DisconfDataGetter.getByItem("keyA").toString(),
+ "1000");
+
+ Assert.assertEquals(DisconfDataGetter.getByFileItem("confA.properties", "confa.varA").toString(),
+ "1000");
+ }
+
public ApplicationContext getApplicationContext() {
return applicationContext;
}
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringMockTestCase.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringMockTestCase.java
index 0045627c8..c69d4cb8b 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringMockTestCase.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringMockTestCase.java
@@ -10,7 +10,7 @@
import com.baidu.disconf.client.config.ConfigMgr;
import com.baidu.disconf.client.config.DisClientConfig;
import com.baidu.disconf.client.config.DisClientSysConfig;
-import com.baidu.disconf.client.test.utils.NetUtils;
+import com.baidu.disconf.client.test.support.utils.NetUtils;
import com.baidu.disconf.core.common.path.DisconfWebPathMgr;
import com.baidu.disconf.core.test.common.BaseCoreTestCase;
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringTestCase.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringTestCase.java
index 3f70d2d92..c0b26646e 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringTestCase.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/common/BaseSpringTestCase.java
@@ -10,7 +10,7 @@
import com.baidu.disconf.client.config.ConfigMgr;
import com.baidu.disconf.client.config.DisClientConfig;
import com.baidu.disconf.client.config.DisClientSysConfig;
-import com.baidu.disconf.client.test.utils.NetUtils;
+import com.baidu.disconf.client.test.support.utils.NetUtils;
import com.baidu.disconf.core.common.path.DisconfWebPathMgr;
import junit.framework.Assert;
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/fetcher/inner/restful/RestfulMgrMock.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/fetcher/inner/restful/RestfulMgrMock.java
index dfb948bb4..d2b1aa35f 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/fetcher/inner/restful/RestfulMgrMock.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/fetcher/inner/restful/RestfulMgrMock.java
@@ -4,7 +4,7 @@
import org.apache.commons.io.FileUtils;
-import com.baidu.disconf.client.test.utils.DirUtils;
+import com.baidu.disconf.client.test.support.utils.DirUtils;
import com.baidu.disconf.core.common.constants.Constants;
import com.baidu.disconf.core.common.json.ValueVo;
import com.baidu.disconf.core.common.restful.RestfulMgr;
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/scan/inner/ScanPackTestCase.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/scan/inner/ScanPackTestCase.java
index 69e8e838a..abfc2b03e 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/scan/inner/ScanPackTestCase.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/scan/inner/ScanPackTestCase.java
@@ -15,8 +15,8 @@
import com.baidu.disconf.client.scan.inner.statically.strategy.ScanStaticStrategy;
import com.baidu.disconf.client.scan.inner.statically.strategy.impl.ReflectionScanStatic;
import com.baidu.disconf.client.test.common.BaseSpringTestCase;
-import com.baidu.disconf.client.utils.ScanPrinterUtils;
-import com.baidu.disconf.client.utils.StringUtil;
+import com.baidu.disconf.client.support.utils.ScanPrinterUtils;
+import com.baidu.disconf.client.support.utils.StringUtil;
/**
* 扫描测试
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/utils/DirUtils.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/DirUtils.java
similarity index 91%
rename from disconf-client/src/test/java/com/baidu/disconf/client/test/utils/DirUtils.java
rename to disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/DirUtils.java
index e7f8447b6..93b0b4c94 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/utils/DirUtils.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/DirUtils.java
@@ -1,4 +1,4 @@
-package com.baidu.disconf.client.test.utils;
+package com.baidu.disconf.client.test.support.utils;
import java.io.File;
import java.io.IOException;
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/utils/NetUtils.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/NetUtils.java
similarity index 96%
rename from disconf-client/src/test/java/com/baidu/disconf/client/test/utils/NetUtils.java
rename to disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/NetUtils.java
index 5001f7a1b..d925c22cf 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/utils/NetUtils.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/NetUtils.java
@@ -1,4 +1,4 @@
-package com.baidu.disconf.client.test.utils;
+package com.baidu.disconf.client.test.support.utils;
import java.io.IOException;
import java.net.HttpURLConnection;
diff --git a/disconf-client/src/test/java/com/baidu/disconf/client/test/utils/TestAntPathMatcher.java b/disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/TestAntPathMatcher.java
similarity index 95%
rename from disconf-client/src/test/java/com/baidu/disconf/client/test/utils/TestAntPathMatcher.java
rename to disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/TestAntPathMatcher.java
index 100428779..d9db4ee80 100644
--- a/disconf-client/src/test/java/com/baidu/disconf/client/test/utils/TestAntPathMatcher.java
+++ b/disconf-client/src/test/java/com/baidu/disconf/client/test/support/utils/TestAntPathMatcher.java
@@ -1,4 +1,4 @@
-package com.baidu.disconf.client.test.utils;
+package com.baidu.disconf.client.test.support.utils;
import org.junit.Test;
import org.springframework.util.AntPathMatcher;
diff --git a/disconf-client/tools/my_printzootree.py b/disconf-client/tools/my_printzootree.py
index 283db10d5..c35a86dd7 100644
--- a/disconf-client/tools/my_printzootree.py
+++ b/disconf-client/tools/my_printzootree.py
@@ -1,20 +1,18 @@
#!/usr/bin/env python
# -*- coding:utf-8 -*-
-'''
+"""
Created on 2013-5-23
@author: liaoqiqi
打印zookeeper树
-'''
+"""
from kazoo.client import KazooClient
-from kazoo.client import KazooState
-import datetime
import time
-hosts = '10.48.57.42:8581,10.48.57.42:8582,10.48.57.42:8583'
+hosts = '127.0.0.1:3307'
zk = KazooClient(hosts=hosts)
zk.start()
@@ -25,11 +23,10 @@
#
#
def printTreeNode(basepath, node, i):
-
- if isinstance(node, list) :
+ if isinstance(node, list):
for item in node:
-
+
# current
current_base_path = basepath + "/" + item
data, stat = zk.get(current_base_path)
@@ -39,32 +36,27 @@ def printTreeNode(basepath, node, i):
ahead += "\t"
j += 1
print ahead + "|----" + item + "\t" + data.decode("utf-8") + "\t" + \
- time.strftime("%Y%m%d%H%M%S", time.localtime(stat.ctime/1000)) + "\t" + \
- time.strftime("%Y%m%d%H%M%S", time.localtime(stat.mtime/1000))
-
+ time.strftime("%Y%m%d%H%M%S", time.localtime(stat.ctime / 1000)) + "\t" + \
+ time.strftime("%Y%m%d%H%M%S", time.localtime(stat.mtime / 1000))
+
# recursive
items = zk.get_children(current_base_path)
printTreeNode(current_base_path, items, i + 1)
+
#
# root
#
def printtreeRoot(path):
-
# get children
base_path = path
children = zk.get_children(base_path)
print base_path
printTreeNode(base_path, children, 1)
-
-
-
#
#
#
if __name__ == '__main__':
-
printtreeRoot("/")
zk.stop()
-
diff --git a/disconf-core/pom.xml b/disconf-core/pom.xml
index f44e4f914..3009f672f 100644
--- a/disconf-core/pom.xml
+++ b/disconf-core/pom.xml
@@ -13,7 +13,7 @@
com.baidu.disconf
disconf-base
- 2.6.33
+ 2.6.34
@@ -52,8 +52,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/disconf-core/src/main/java/com/baidu/disconf/core/common/restful/impl/RestfulMgrImpl.java b/disconf-core/src/main/java/com/baidu/disconf/core/common/restful/impl/RestfulMgrImpl.java
index 803df8377..3ed8347d8 100644
--- a/disconf-core/src/main/java/com/baidu/disconf/core/common/restful/impl/RestfulMgrImpl.java
+++ b/disconf-core/src/main/java/com/baidu/disconf/core/common/restful/impl/RestfulMgrImpl.java
@@ -113,7 +113,7 @@ public String downloadFromServer(RemoteUrl remoteUrl, String fileName, String lo
if (copy2TargetDirPath != null) {
//
- if (enableLocalDownloadDirInClassPath == true || !copy2TargetDirPath.equals(ClassLoaderUtil.getClassPath
+ if (enableLocalDownloadDirInClassPath || !copy2TargetDirPath.equals(ClassLoaderUtil.getClassPath
())) {
localFile = transfer2SpecifyDir(tmpFilePathUniqueFile, copy2TargetDirPath, fileName, true);
}
@@ -200,15 +200,10 @@ private File transfer2SpecifyDir(File srcFile, String copy2TargetDirPath, String
OsUtil.makeDirs(copy2TargetDirPath);
File targetPath = new File(OsUtil.pathJoin(copy2TargetDirPath, fileName));
- if (targetPath != null) {
- // 从下载文件 复制/mv 到targetPath 原子性的做转移
- OsUtil.transferFileAtom(srcFile, targetPath, isMove);
- return targetPath;
-
- } else {
- LOGGER.warn("targetPath is null, cannot transfer " + fileName + " to targetPath");
- return null;
- }
+ // 从下载文件 复制/mv 到targetPath 原子性的做转移
+ OsUtil.transferFileAtom(srcFile, targetPath, isMove);
+ return targetPath;
+
}
/**
diff --git a/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java b/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java
index 92946544a..a1352d30b 100644
--- a/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java
+++ b/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/OsUtil.java
@@ -155,12 +155,14 @@ public static void transferFileAtom(File src, File dest, boolean isDeleteSource)
FileLock lock = null;
try {
- outStream = new FileOutputStream(lockFile);
- FileChannel channel = outStream.getChannel();
- try {
- int tryTime = 0;
- while (tryTime < 3) {
+ int tryTime = 0;
+ while (tryTime < 3) {
+
+ try {
+
+ outStream = new FileOutputStream(lockFile);
+ FileChannel channel = outStream.getChannel();
lock = channel.tryLock();
if (lock != null) {
@@ -168,7 +170,7 @@ public static void transferFileAtom(File src, File dest, boolean isDeleteSource)
if (dest.exists()) {
// 判断内容是否一样
if (FileUtils.isFileEqual(src, dest)) {
- // 删除
+ // 内容如果一样,就只需要删除源文件就行了
if (isDeleteSource) {
src.delete();
}
@@ -181,7 +183,7 @@ public static void transferFileAtom(File src, File dest, boolean isDeleteSource)
// 转移
transferFile(src, dest);
- // 删除
+ // 删除源文件
if (isDeleteSource) {
src.delete();
}
@@ -189,39 +191,49 @@ public static void transferFileAtom(File src, File dest, boolean isDeleteSource)
break;
}
- logger.warn("try lock failed. sleep and try " + tryTime);
- tryTime++;
-
- try {
- Thread.sleep(1000 * tryTime);
- } catch (Exception e) {
- System.out.print("");
- }
- }
+ } catch (FileNotFoundException e) {
- } catch (IOException e) {
- logger.warn(e.toString());
- }
+ // 打不开文件,则后面进行重试
+ logger.warn(e.toString());
- } catch (FileNotFoundException e) {
- logger.warn(e.toString());
+ } finally {
- } finally {
+ // 释放锁,通道;删除锁文件
+ if (null != lock) {
+ try {
+ lock.release();
+ } catch (IOException e) {
+ logger.warn(e.toString());
+ }
- if (null != lock) {
- try {
- lock.release();
- } catch (IOException e) {
- logger.warn(e.toString());
+ if (lockFile != null) {
+ lockFile.delete();
+ }
+ }
+ if (outStream != null) {
+ try {
+ outStream.close();
+ } catch (IOException e) {
+ logger.warn(e.toString());
+ }
+ }
}
- }
- if (outStream != null) {
+
+ // 进行重试
+ logger.warn("try lock failed. sleep and try " + tryTime);
+ tryTime++;
+
try {
- outStream.close();
- } catch (IOException e) {
- logger.warn(e.toString());
+ Thread.sleep(1000 * tryTime);
+ } catch (Exception e) {
+ System.out.print("");
}
+
}
+
+ } catch (IOException e) {
+ logger.warn(e.toString());
}
+
}
}
diff --git a/disconf-core/src/main/java/com/baidu/disconf/core/common/zookeeper/inner/PrintZookeeperTree.java b/disconf-core/src/main/java/com/baidu/disconf/core/common/zookeeper/inner/PrintZookeeperTree.java
index 1cb4d6bb1..9ae8626a0 100644
--- a/disconf-core/src/main/java/com/baidu/disconf/core/common/zookeeper/inner/PrintZookeeperTree.java
+++ b/disconf-core/src/main/java/com/baidu/disconf/core/common/zookeeper/inner/PrintZookeeperTree.java
@@ -3,7 +3,7 @@
import java.nio.charset.Charset;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
diff --git a/disconf-web/pom.xml b/disconf-web/pom.xml
index 76d8c07b2..bb0bac3c1 100644
--- a/disconf-web/pom.xml
+++ b/disconf-web/pom.xml
@@ -12,7 +12,7 @@
com.baidu.disconf
disconf-base
- 2.6.33
+ 2.6.34
@@ -115,7 +115,7 @@
com.github.knightliao.apollo
apollo
- 1.0.12
+ 1.0.13
@@ -242,19 +242,14 @@
commons-io
-
- com.fasterxml.jackson.core
- jackson-core
-
-
com.fasterxml.jackson.core
jackson-databind
- org.codehaus.jackson
- jackson-mapper-asl
+ com.fasterxml.jackson.core
+ jackson-core
@@ -268,8 +263,8 @@
- commons-lang
- commons-lang
+ org.apache.commons
+ commons-lang3
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/common/comparator/StringComparator.java b/disconf-web/src/main/java/com/baidu/disconf/web/common/comparator/StringComparator.java
index b8b50cf62..6886040f6 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/common/comparator/StringComparator.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/common/comparator/StringComparator.java
@@ -40,8 +40,10 @@ private List StringToLines(String data) throws IOException {
return new ArrayList();
}
- List lines = new ArrayList();
- lines = StringUtil.parseStringToStringList(data, "\\r?\\n");
+ List lines = StringUtil.parseStringToStringList(data, "\\r?\\n");
+ if (lines == null) {
+ lines = new ArrayList();
+ }
return lines;
}
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/innerapi/zookeeper/impl/ZookeeperDriverImpl.java b/disconf-web/src/main/java/com/baidu/disconf/web/innerapi/zookeeper/impl/ZookeeperDriverImpl.java
index 4194be5d1..d5e7d27b4 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/innerapi/zookeeper/impl/ZookeeperDriverImpl.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/innerapi/zookeeper/impl/ZookeeperDriverImpl.java
@@ -8,7 +8,7 @@
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java
index 91bc84aa0..ac30a2083 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigFetchMgrImpl.java
@@ -43,6 +43,7 @@ public ValueVo getConfItemByParameter(Long appId, Long envId, String version, St
if (config == null) {
return ConfigUtils.getErrorVo("cannot find this config");
}
+
ValueVo valueVo = new ValueVo();
valueVo.setValue(config.getValue());
valueVo.setStatus(Constants.OK);
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java
index 86a58bd04..1af24bf37 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java
@@ -11,7 +11,7 @@
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -461,10 +461,10 @@ private String getConfigUrlHtml(Config config) {
*/
private String getNewValue(String newValue, String identify, String htmlClick) {
- String contentString = StringEscapeUtils.escapeHtml(identify) + "
" + htmlClick + "
";
+ String contentString = StringEscapeUtils.escapeHtml4(identify) + "
" + htmlClick + "
";
String data = "
New value:
";
- contentString = contentString + data + StringEscapeUtils.escapeHtml(newValue);
+ contentString = contentString + data + StringEscapeUtils.escapeHtml4(newValue);
return contentString;
}
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/service/zookeeper/service/impl/ZkDeployMgrImpl.java b/disconf-web/src/main/java/com/baidu/disconf/web/service/zookeeper/service/impl/ZkDeployMgrImpl.java
index ce8805427..8fc3eeaaf 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/service/zookeeper/service/impl/ZkDeployMgrImpl.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/service/zookeeper/service/impl/ZkDeployMgrImpl.java
@@ -3,7 +3,7 @@
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/utils/DiffUtils.java b/disconf-web/src/main/java/com/baidu/disconf/web/utils/DiffUtils.java
index b57f71beb..28d9221e0 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/utils/DiffUtils.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/utils/DiffUtils.java
@@ -2,7 +2,7 @@
import java.io.IOException;
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -48,7 +48,7 @@ public static String getDiffSimple(String old, String newData) {
public static String getDiff(String old, String newData, String identify, String htmlClick) {
StringComparator stringComparator = new StringComparator(old, newData);
- String contentString = StringEscapeUtils.escapeHtml(identify) + "
" + htmlClick + "
";
+ String contentString = StringEscapeUtils.escapeHtml4(identify) + "
" + htmlClick + "
";
try {
@@ -61,30 +61,30 @@ public static String getDiff(String old, String newData, String identify, String
} else {
String oldValue = "
Old value:
" +
- StringEscapeUtils.escapeHtml(old).replaceAll("\n", "
");
+ StringEscapeUtils.escapeHtml4(old).replaceAll("\n", "
");
String newValue = "
New value:
" +
- StringEscapeUtils.escapeHtml(newData).replaceAll("\n", "
");
+ StringEscapeUtils.escapeHtml4(newData).replaceAll("\n", "
");
String diff = "";
if (stringComparator.getChangesFromOriginal().size() != 0) {
diff = "Change info:
";
for (Chunk chunk : stringComparator.getChangesFromOriginal()) {
- diff += StringEscapeUtils.escapeHtml(chunk.toString()) + "
";
+ diff += StringEscapeUtils.escapeHtml4(chunk.toString()) + "
";
}
}
if (stringComparator.getInsertsFromOriginal().size() != 0) {
diff += "
Insert info:
";
for (Chunk chunk : stringComparator.getInsertsFromOriginal()) {
- diff += StringEscapeUtils.escapeHtml(chunk.toString()) + "
";
+ diff += StringEscapeUtils.escapeHtml4(chunk.toString()) + "
";
}
}
if (stringComparator.getDeletesFromOriginal().size() != 0) {
diff += "
Delete info:
";
for (Chunk chunk : stringComparator.getDeletesFromOriginal()) {
- diff += StringEscapeUtils.escapeHtml(chunk.toString()) + "
";
+ diff += StringEscapeUtils.escapeHtml4(chunk.toString()) + "
";
}
}
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/web/config/controller/ConfigUpdateController.java b/disconf-web/src/main/java/com/baidu/disconf/web/web/config/controller/ConfigUpdateController.java
index 536eb363f..188e85fff 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/web/config/controller/ConfigUpdateController.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/web/config/controller/ConfigUpdateController.java
@@ -29,7 +29,7 @@
*/
@Controller
@RequestMapping(WebConstants.API_PREFIX + "/web/config")
-public class ConfigUpdateController extends BaseController {
+public class ConfigUpdateController extends BaseController {
protected static final Logger LOG = LoggerFactory.getLogger(ConfigUpdateController.class);
@@ -147,8 +147,7 @@ public JsonObjectBase updateFileWithText(@PathVariable long configId, @NotNull S
} catch (Exception e) {
- LOG.error(e.toString());
- throw new FileUploadException("upload file error", e);
+ throw new FileUploadException("upload.file.error", e);
}
//
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator.java b/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator.java
index 48e598260..345ceb608 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator.java
@@ -1,6 +1,6 @@
package com.baidu.disconf.web.web.config.validator;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -183,7 +183,7 @@ public void validateNew(ConfNewItemForm confNewForm, DisConfigTypeEnum disConfig
// key
//
Config config = configFetchMgr.getConfByParameter(app.getId(), env.getId(), confNewForm.getVersion(),
- confNewForm.getKey(), disConfigTypeEnum);
+ confNewForm.getKey(), disConfigTypeEnum);
if (config != null) {
throw new FieldException(ConfNewItemForm.KEY, "key.exist", null);
}
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator4Fetch.java b/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator4Fetch.java
index 369730478..9d8c49f4e 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator4Fetch.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/web/config/validator/ConfigValidator4Fetch.java
@@ -1,8 +1,8 @@
package com.baidu.disconf.web.web.config.validator;
-import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
import com.baidu.disconf.web.service.app.bo.App;
import com.baidu.disconf.web.service.app.service.AppMgr;
diff --git a/disconf-web/src/main/java/com/baidu/disconf/web/web/zookeeper/validator/ZkDeployValidator.java b/disconf-web/src/main/java/com/baidu/disconf/web/web/zookeeper/validator/ZkDeployValidator.java
index 50edb4e63..846b16d4d 100644
--- a/disconf-web/src/main/java/com/baidu/disconf/web/web/zookeeper/validator/ZkDeployValidator.java
+++ b/disconf-web/src/main/java/com/baidu/disconf/web/web/zookeeper/validator/ZkDeployValidator.java
@@ -1,6 +1,6 @@
package com.baidu.disconf.web.web.zookeeper.validator;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/disconf-web/src/main/java/com/baidu/dsp/common/utils/DaoUtils.java b/disconf-web/src/main/java/com/baidu/dsp/common/utils/DaoUtils.java
index 84d32d586..d31405807 100644
--- a/disconf-web/src/main/java/com/baidu/dsp/common/utils/DaoUtils.java
+++ b/disconf-web/src/main/java/com/baidu/dsp/common/utils/DaoUtils.java
@@ -3,7 +3,7 @@
import java.util.ArrayList;
import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.baidu.dsp.common.form.RequestListBase.Page;
import com.baidu.ub.common.db.DaoPage;
diff --git a/disconf-web/src/main/java/com/baidu/dsp/common/utils/ListUtil.java b/disconf-web/src/main/java/com/baidu/dsp/common/utils/ListUtil.java
index f92f50ee6..ff3691b75 100644
--- a/disconf-web/src/main/java/com/baidu/dsp/common/utils/ListUtil.java
+++ b/disconf-web/src/main/java/com/baidu/dsp/common/utils/ListUtil.java
@@ -4,8 +4,8 @@
import java.util.List;
import java.util.Map;
-import org.apache.commons.lang.ArrayUtils;
-import org.apache.commons.lang.ObjectUtils;
+import org.apache.commons.lang3.ArrayUtils;
+import org.apache.commons.lang3.ObjectUtils;
import com.baidu.dsp.common.form.RequestListBase.Page;
diff --git a/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/LogMailBean.java b/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/LogMailBean.java
index eb629d4ca..3ad391a2c 100644
--- a/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/LogMailBean.java
+++ b/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/LogMailBean.java
@@ -5,7 +5,7 @@
import java.text.SimpleDateFormat;
import java.util.Date;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/MailBean.java b/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/MailBean.java
index 341cec9a5..8dfa05f35 100644
--- a/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/MailBean.java
+++ b/disconf-web/src/main/java/com/baidu/dsp/common/utils/email/MailBean.java
@@ -5,7 +5,7 @@
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.InitializingBean;
diff --git a/disconf-web/src/main/java/com/baidu/unbiz/common/genericdao/mapper/ORMapping.java b/disconf-web/src/main/java/com/baidu/unbiz/common/genericdao/mapper/ORMapping.java
index b12747506..d12f84bca 100644
--- a/disconf-web/src/main/java/com/baidu/unbiz/common/genericdao/mapper/ORMapping.java
+++ b/disconf-web/src/main/java/com/baidu/unbiz/common/genericdao/mapper/ORMapping.java
@@ -13,7 +13,7 @@
import java.util.Map;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
import com.baidu.unbiz.common.genericdao.annotation.Table;
import com.github.knightliao.apollo.db.bo.BaseObject;
diff --git a/disconf-web/src/main/resources/messages/app-controller-info.properties b/disconf-web/src/main/resources/messages/app-controller-info.properties
index 2140cdc20..2ed79db41 100644
--- a/disconf-web/src/main/resources/messages/app-controller-info.properties
+++ b/disconf-web/src/main/resources/messages/app-controller-info.properties
@@ -1,3 +1,3 @@
-
-app.exist=APP\u5DF2\u7ECF\u5B58\u5728!
\ No newline at end of file
+app.exist=APP\u5DF2\u7ECF\u5B58\u5728!
+upload.file.error=\u4E0A\u4F20\u6587\u4EF6\u9519\u8BEF
\ No newline at end of file
diff --git a/disconf-web/src/main/resources/messages/config-controller-info.properties b/disconf-web/src/main/resources/messages/config-controller-info.properties
index c17882d50..6fbd22ad4 100644
--- a/disconf-web/src/main/resources/messages/config-controller-info.properties
+++ b/disconf-web/src/main/resources/messages/config-controller-info.properties
@@ -1,5 +1,4 @@
-
app.not.exist=APP\u627E\u4E0D\u5230!
app.auth.noright=\u4F60\u6CA1\u6709\u6B64app\u7684\u6743\u9650
diff --git a/pom.xml b/pom.xml
index 9d21f217e..7ef88b396 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
com.baidu.disconf
disconf-base
- 2.6.33
+ 2.6.34
pom
@@ -25,9 +25,9 @@
- 2.6.33
- 2.6.33
- 2.6.33
+ 2.6.34
+ 2.6.34
+ 2.6.34
UTF-8
@@ -129,9 +129,9 @@
- commons-lang
- commons-lang
- 2.4
+ org.apache.commons
+ commons-lang3
+ 3.4
@@ -216,12 +216,6 @@
2.6.0
-
- org.codehaus.jackson
- jackson-mapper-asl
- 1.9.13
-
-
org.freemarker
freemarker