فهرست منبع

properties 加载方式优化

xuxueli 8 سال پیش
والد
کامیت
09908bbe92
1فایلهای تغییر یافته به همراه11 افزوده شده و 30 حذف شده
  1. 11 30
      xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java

+ 11 - 30
xxl-job-admin/src/main/java/com/xxl/job/admin/core/util/PropertiesUtil.java

@@ -2,11 +2,12 @@ package com.xxl.job.admin.core.util;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.springframework.core.io.ClassPathResource;
+import org.springframework.core.io.Resource;
+import org.springframework.core.io.support.EncodedResource;
+import org.springframework.core.io.support.PropertiesLoaderUtils;
 
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.InputStreamReader;
-import java.net.URL;
 import java.util.Properties;
 
 /**
@@ -16,37 +17,17 @@ import java.util.Properties;
 public class PropertiesUtil {
 	private static Logger logger = LoggerFactory.getLogger(PropertiesUtil.class);
 	private static final String file_name = "xxl-job-admin.properties";
-	
-	/**
-	 * load properties
-	 * @param propertyFileName
-	 * @return
-	 */
-	public static Properties loadProperties(String propertyFileName) {
-		Properties prop = new Properties();
-		InputStreamReader  in = null;
+
+
+	public static String getString(String key) {
+		Properties prop = null;
 		try {
-			URL url = null;
-			ClassLoader loder = Thread.currentThread().getContextClassLoader();
-			url = loder.getResource(propertyFileName); 
-			in = new InputStreamReader(new FileInputStream(url.getPath()), "UTF-8");
-			prop.load(in);
+			Resource resource = new ClassPathResource(file_name);
+			EncodedResource encodedResource = new EncodedResource(resource,"UTF-8");
+			prop = PropertiesLoaderUtils.loadProperties(encodedResource);
 		} catch (IOException e) {
 			logger.error(e.getMessage(), e);
-		} finally {
-			if (in != null) {
-				try {
-					in.close();
-				} catch (IOException e) {
-					logger.error(e.getMessage(), e);
-				}
-			}
 		}
-		return prop;
-	}
-
-	public static String getString(String key) {
-		Properties prop = loadProperties(file_name);
 		if (prop!=null) {
 			return prop.getProperty(key);
 		}