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