diff --git a/README.md b/README.md index 2979d4d5d..bed5288e7 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ 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.32 +- master(stable branch):2.6.33 - [更新日志](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.31 + 2.6.33 ### server: disconf-web 使用 ### diff --git a/disconf-client/pom.xml b/disconf-client/pom.xml index 8784aad1b..d94b61085 100644 --- a/disconf-client/pom.xml +++ b/disconf-client/pom.xml @@ -10,7 +10,7 @@ com.baidu.disconf disconf-base - 2.6.32 + 2.6.33 diff --git a/disconf-core/pom.xml b/disconf-core/pom.xml index 20731f537..f44e4f914 100644 --- a/disconf-core/pom.xml +++ b/disconf-core/pom.xml @@ -13,7 +13,7 @@ com.baidu.disconf disconf-base - 2.6.32 + 2.6.33 diff --git a/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/ClassLoaderUtil.java b/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/ClassLoaderUtil.java index aff340f99..ab7b14b7d 100644 --- a/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/ClassLoaderUtil.java +++ b/disconf-core/src/main/java/com/baidu/disconf/core/common/utils/ClassLoaderUtil.java @@ -1,5 +1,8 @@ package com.baidu.disconf.core.common.utils; +import java.io.File; +import java.net.URL; +import java.net.URLClassLoader; import java.net.URLDecoder; import org.slf4j.Logger; @@ -20,7 +23,6 @@ public final class ClassLoaderUtil { private static ClassLoader loader = Thread.currentThread().getContextClassLoader(); private ClassLoaderUtil() { - } // @@ -42,18 +44,44 @@ private ClassLoaderUtil() { // 如果是jar包内的,则返回当前路径 if (classPath.contains(".jar!")) { - LOGGER.warn("using config file inline jar!"); + LOGGER.warn("using config file inline jar!" + classPath); classPath = System.getProperty("user.dir"); + + // + addCurrentWorkingDir2Classpath(classPath); } } catch (Exception e) { LOGGER.warn("cannot get classpath using getResource(), now using user.dir"); classPath = System.getProperty("user.dir"); + + // + addCurrentWorkingDir2Classpath(classPath); } LOGGER.info("classpath: {}", classPath); } + /** + * only support 1.7 or higher + * http://stackoverflow.com/questions/252893/how-do-you-change-the-classpath-within-java + */ + private static void addCurrentWorkingDir2Classpath(String path2Added) { + + // Add the conf dir to the classpath + // Chain the current thread classloader + URLClassLoader urlClassLoader; + try { + urlClassLoader = new URLClassLoader(new URL[] {new File(path2Added).toURI().toURL()}, + loader); + // Replace the thread classloader - assumes + // you have permissions to do so + Thread.currentThread().setContextClassLoader(urlClassLoader); + } catch (Exception e) { + LOGGER.warn(e.toString()); + } + } + public static String getClassPath() { return classPath; } diff --git a/disconf-web/pom.xml b/disconf-web/pom.xml index c7edb9400..76d8c07b2 100644 --- a/disconf-web/pom.xml +++ b/disconf-web/pom.xml @@ -12,7 +12,7 @@ com.baidu.disconf disconf-base - 2.6.32 + 2.6.33 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 94aa3d7b6..86a58bd04 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 @@ -188,7 +188,7 @@ public ConfListVo transfer(Config input) { ConfListVo configListVo = convert(input, appNameString, envName, zkDisconfData); // 列表操作不要显示值, 为了前端显示快速(只是内存里操作) - if (!myFetchZk || !getErrorMessage) { + if (!myFetchZk && !getErrorMessage) { // 列表 value 设置为 "" configListVo.setValue(""); @@ -424,7 +424,7 @@ public String updateItemValue(Long configId, String value) { // String toEmails = appMgr.getEmails(config.getAppId()); - if (applicationPropertyConfig.isEmailMonitorOn() == true) { + if (applicationPropertyConfig.isEmailMonitorOn()) { boolean isSendSuccess = logMailBean.sendHtmlEmail(toEmails, " config update", DiffUtils.getDiff(CodeUtils.unicodeToUtf8(oldValue), value, diff --git a/pom.xml b/pom.xml index e6579d2bc..9d21f217e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.baidu.disconf disconf-base - 2.6.32 + 2.6.33 pom @@ -25,9 +25,9 @@ - 2.6.32 - 2.6.32 - 2.6.32 + 2.6.33 + 2.6.33 + 2.6.33 UTF-8 @@ -122,12 +122,6 @@ 1.2.1 - - commons-httpclient - commons-httpclient - 3.1 - - commons-io commons-io