From 4b1692ba7c17c21bb9bcb0071308fd9e6b78beb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A6=82=E6=A2=A6=E6=8A=80=E6=9C=AF?= <596392912@qq.com> Date: Fri, 21 May 2021 16:05:08 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E4=BC=98=E5=8C=96=E4=B8=80?= =?UTF-8?q?=E6=B3=A2=E4=BB=A3=E7=A0=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mica/core/compiler/ByteCodeLoader.java | 4 ++-- .../net/dreamlu/mica/core/utils/BeanUtil.java | 4 ++-- .../net/dreamlu/mica/core/utils/CountMap.java | 2 +- .../dreamlu/mica/ip2region/core/DbSearcher.java | 11 ++++++----- .../mica/ip2region/utils/Ip2regionUtil.java | 16 ++++++++++++---- .../net/dreamlu/mica/laytpl/MicaTemplate.java | 2 +- .../appender/LoggingJsonFileAppender.java | 2 +- .../appender/LoggingLogStashAppender.java | 2 +- .../mica/logging/config/LoggingInitializer.java | 16 ++++++++++++++-- .../logging/config/MicaLoggingConfiguration.java | 4 ++-- .../metrics/druid/DruidMetricsConfiguration.java | 2 +- .../dreamlu/mica/spider/http/HostCookieJar.java | 4 ++-- 12 files changed, 45 insertions(+), 24 deletions(-) diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/compiler/ByteCodeLoader.java b/mica-core/src/main/java/net/dreamlu/mica/core/compiler/ByteCodeLoader.java index f0a5fdd1..526e40eb 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/compiler/ByteCodeLoader.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/compiler/ByteCodeLoader.java @@ -33,7 +33,7 @@ public class ByteCodeLoader extends SecureClassLoader { /** * Map which represents class name and its compiled java object */ - private static final ConcurrentMap> javaFileObjectMap = new ConcurrentHashMap<>(); + private static final ConcurrentMap> JAVA_FILE_OBJECT_MAP = new ConcurrentHashMap<>(); private final String className; private final byte[] byteCode; @@ -68,7 +68,7 @@ public class ByteCodeLoader extends SecureClassLoader { */ public static Class load(String className, byte[] byteCode) { CheckedFunction> classLoadFunc = (key) -> new ByteCodeLoader(key, byteCode).loadClass(className); - return CollectionUtil.computeIfAbsent(javaFileObjectMap, className, Unchecked.function(classLoadFunc)); + return CollectionUtil.computeIfAbsent(JAVA_FILE_OBJECT_MAP, className, Unchecked.function(classLoadFunc)); } /** diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/utils/BeanUtil.java b/mica-core/src/main/java/net/dreamlu/mica/core/utils/BeanUtil.java index 4874ce46..952594ea 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/utils/BeanUtil.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/utils/BeanUtil.java @@ -506,12 +506,12 @@ public class BeanUtil extends org.springframework.beans.BeanUtils { Assert.notNull(src, "diff Map src is null."); Assert.notNull(src, "diff Map dist is null."); // 改变 - Map difference = new HashMap<>(); + Map difference = new HashMap<>(8); difference.putAll(src); difference.putAll(dist); difference.entrySet().removeAll(src.entrySet()); // 老值 - Map oldValues = new HashMap<>(); + Map oldValues = new HashMap<>(8); difference.keySet().forEach((k) -> oldValues.put(k, src.get(k))); BeanDiff diff = new BeanDiff(); diff.getFields().addAll(difference.keySet()); diff --git a/mica-core/src/main/java/net/dreamlu/mica/core/utils/CountMap.java b/mica-core/src/main/java/net/dreamlu/mica/core/utils/CountMap.java index 052a4627..56900930 100644 --- a/mica-core/src/main/java/net/dreamlu/mica/core/utils/CountMap.java +++ b/mica-core/src/main/java/net/dreamlu/mica/core/utils/CountMap.java @@ -32,7 +32,7 @@ public class CountMap { private final Map data; public CountMap() { - this(new HashMap<>()); + this(new HashMap<>(8)); } /** diff --git a/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/core/DbSearcher.java b/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/core/DbSearcher.java index cb0e35b4..bee097b1 100644 --- a/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/core/DbSearcher.java +++ b/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/core/DbSearcher.java @@ -14,9 +14,6 @@ import java.nio.charset.StandardCharsets; * @author chenxin */ public class DbSearcher { - public static final int BTREE_ALGORITHM = 1; - public static final int BINARY_ALGORITHM = 2; - public static final int MEMORY_ALGORITYM = 3; /** * db config @@ -274,7 +271,9 @@ public class DbSearcher { } //not matched - if (dataptr == 0) return null; + if (dataptr == 0) { + return null; + } //3. get the data int dataLen = (int) ((dataptr >> 24) & 0xFF); @@ -342,7 +341,9 @@ public class DbSearcher { } //not matched - if (dataptr == 0) return null; + if (dataptr == 0) { + return null; + } //get the data int dataLen = (int) ((dataptr >> 24) & 0xFF); diff --git a/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/utils/Ip2regionUtil.java b/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/utils/Ip2regionUtil.java index 62a2b7ea..710ec3d7 100644 --- a/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/utils/Ip2regionUtil.java +++ b/mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/utils/Ip2regionUtil.java @@ -85,7 +85,9 @@ public class Ip2regionUtil { */ public static long ip2long(String ip) { String[] p = ip.split("\\."); - if (p.length != 4) return 0; + if (p.length != 4) { + return 0; + } int p1 = ((Integer.parseInt(p[0]) << 24) & 0xFF000000); int p2 = ((Integer.parseInt(p[1]) << 16) & 0x00FF0000); @@ -116,12 +118,18 @@ public class Ip2regionUtil { */ public static boolean isIpAddress(String ip) { String[] p = ip.split("\\."); - if (p.length != 4) return false; + if (p.length != 4) { + return false; + } for (String pp : p) { - if (pp.length() > 3) return false; + if (pp.length() > 3) { + return false; + } int val = Integer.parseInt(pp); - if (val > 255) return false; + if (val > 255) { + return false; + } } return true; diff --git a/mica-laytpl/src/main/java/net/dreamlu/mica/laytpl/MicaTemplate.java b/mica-laytpl/src/main/java/net/dreamlu/mica/laytpl/MicaTemplate.java index 12b6542c..4895839c 100644 --- a/mica-laytpl/src/main/java/net/dreamlu/mica/laytpl/MicaTemplate.java +++ b/mica-laytpl/src/main/java/net/dreamlu/mica/laytpl/MicaTemplate.java @@ -116,7 +116,7 @@ public class MicaTemplate implements ApplicationContextAware, InitializingBean { final ScriptEngineManager engineManager = new ScriptEngineManager(); final ScriptEngine engine = engineManager.getEngineByMimeType("text/javascript"); Bindings bindings = engine.createBindings(); - Map config = new HashMap<>(2); + Map config = new HashMap<>(4); config.put("open", tplProperties.getOpen()); config.put("close", tplProperties.getClose()); bindings.put("console", console); diff --git a/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingJsonFileAppender.java b/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingJsonFileAppender.java index ef4220a8..62ed9eb5 100644 --- a/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingJsonFileAppender.java +++ b/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingJsonFileAppender.java @@ -59,7 +59,7 @@ public class LoggingJsonFileAppender implements ILoggingAppender { String logDir = environment.getProperty("logging.file.path", LoggingUtil.DEFAULT_LOG_DIR); this.logAllFile = logDir + CharPool.SLASH + appName + CharPool.SLASH + LoggingUtil.LOG_FILE_ALL; // 4. json 自定义字段 - Map customFields = new HashMap<>(); + Map customFields = new HashMap<>(4); customFields.put("appName", appName); customFields.put("profile", profile); this.customFieldsJson = JsonUtil.toJson(customFields); diff --git a/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingLogStashAppender.java b/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingLogStashAppender.java index 0bd1eff1..38d9f2a6 100644 --- a/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingLogStashAppender.java +++ b/mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingLogStashAppender.java @@ -49,7 +49,7 @@ public class LoggingLogStashAppender implements ILoggingAppender { String appName = environment.getRequiredProperty(MicaConstant.SPRING_APP_NAME_KEY); String profile = environment.getRequiredProperty(MicaConstant.ACTIVE_PROFILES_PROPERTY); // 2. json 自定义字段 - Map customFields = new HashMap<>(); + Map customFields = new HashMap<>(4); customFields.put("appName", appName); customFields.put("profile", profile); this.customFieldsJson = JsonUtil.toJson(customFields); diff --git a/mica-logging/src/main/java/net/dreamlu/mica/logging/config/LoggingInitializer.java b/mica-logging/src/main/java/net/dreamlu/mica/logging/config/LoggingInitializer.java index 5d451bca..fb4c14c3 100644 --- a/mica-logging/src/main/java/net/dreamlu/mica/logging/config/LoggingInitializer.java +++ b/mica-logging/src/main/java/net/dreamlu/mica/logging/config/LoggingInitializer.java @@ -22,6 +22,10 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.env.EnvironmentPostProcessor; import org.springframework.core.Ordered; import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.core.env.MapPropertySource; + +import java.util.HashMap; +import java.util.Map; /** * logging 日志初始化 @@ -30,13 +34,21 @@ import org.springframework.core.env.ConfigurableEnvironment; */ @AutoEnvPostProcessor public class LoggingInitializer implements EnvironmentPostProcessor, Ordered { + public static final String LOGGING_FILE_PATH_KEY = "logging.file.path"; + public static final String LOGGING_FILE_NAME_KEY = "logging.file.name"; + public static final String MICA_LOGGING_PROPERTY_SOURCE_NAME = "micaLoggingPropertySource"; @Override public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) { // 读取系统配置的日志目录,默认为项目下 logs - String logBase = environment.getProperty("logging.file.path", LoggingUtil.DEFAULT_LOG_DIR); + String logBase = environment.getProperty(LOGGING_FILE_PATH_KEY, LoggingUtil.DEFAULT_LOG_DIR); // 用于 spring boot admin 中展示日志 - System.setProperty("logging.file.name", logBase + "/${spring.application.name}/" + LoggingUtil.LOG_FILE_ALL); + if (!environment.containsProperty(LOGGING_FILE_NAME_KEY)) { + Map map = new HashMap<>(2); + map.put(LOGGING_FILE_NAME_KEY, logBase + "/${spring.application.name}/" + LoggingUtil.LOG_FILE_ALL); + MapPropertySource propertySource = new MapPropertySource(MICA_LOGGING_PROPERTY_SOURCE_NAME, map); + environment.getPropertySources().addLast(propertySource); + } } @Override diff --git a/mica-logging/src/main/java/net/dreamlu/mica/logging/config/MicaLoggingConfiguration.java b/mica-logging/src/main/java/net/dreamlu/mica/logging/config/MicaLoggingConfiguration.java index 7596c85a..87172fb8 100644 --- a/mica-logging/src/main/java/net/dreamlu/mica/logging/config/MicaLoggingConfiguration.java +++ b/mica-logging/src/main/java/net/dreamlu/mica/logging/config/MicaLoggingConfiguration.java @@ -126,7 +126,7 @@ public class MicaLoggingConfiguration { @Order(Ordered.HIGHEST_PRECEDENCE) private static class LoggingCondition extends SpringBootCondition { private static final String LOG_STASH_CLASS_NAME = "net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder"; - private static final String Loki_CLASS_NAME = "com.github.loki4j.logback.Loki4jAppender"; + private static final String LOKI_CLASS_NAME = "com.github.loki4j.logback.Loki4jAppender"; @Override public ConditionOutcome getMatchOutcome(ConditionContext context, AnnotatedTypeMetadata metadata) { @@ -179,7 +179,7 @@ public class MicaLoggingConfiguration { } private static boolean hasLokiDependencies(ClassLoader classLoader) { - return ClassUtils.isPresent(Loki_CLASS_NAME, classLoader); + return ClassUtils.isPresent(LOKI_CLASS_NAME, classLoader); } } diff --git a/mica-metrics/src/main/java/net/dreamlu/mica/metrics/druid/DruidMetricsConfiguration.java b/mica-metrics/src/main/java/net/dreamlu/mica/metrics/druid/DruidMetricsConfiguration.java index 642694eb..0f04fc94 100644 --- a/mica-metrics/src/main/java/net/dreamlu/mica/metrics/druid/DruidMetricsConfiguration.java +++ b/mica-metrics/src/main/java/net/dreamlu/mica/metrics/druid/DruidMetricsConfiguration.java @@ -61,7 +61,7 @@ public class DruidMetricsConfiguration { @Bean public DruidMetrics druidMetrics(ObjectProvider> dataSourcesProvider) { Map dataSourceMap = dataSourcesProvider.getIfAvailable(HashMap::new); - Map druidDataSourceMap = new HashMap<>(1); + Map druidDataSourceMap = new HashMap<>(2); dataSourceMap.forEach((name, dataSource) -> { // 保证连接池数据和 DataSourcePoolMetadataProvider 的一致 druidDataSourceMap.put(getDataSourceName(name), DataSourceUnwrapper.unwrap(dataSource, DruidDataSource.class)); diff --git a/mica-spider/src/main/java/net/dreamlu/mica/spider/http/HostCookieJar.java b/mica-spider/src/main/java/net/dreamlu/mica/spider/http/HostCookieJar.java index 14f29eba..91c1bfbd 100644 --- a/mica-spider/src/main/java/net/dreamlu/mica/spider/http/HostCookieJar.java +++ b/mica-spider/src/main/java/net/dreamlu/mica/spider/http/HostCookieJar.java @@ -33,14 +33,14 @@ public enum HostCookieJar implements CookieJar { */ INSTANCE; - private static final Map> COOKIE_MAP = new HashMap<>(); + private static final Map> COOKIE_MAP = new HashMap<>(8); @Override public void saveFromResponse(HttpUrl url, List cookies) { String host = url.host(); Map cookieMap = COOKIE_MAP.get(host); if (cookieMap == null) { - cookieMap = new HashMap<>(); + cookieMap = new HashMap<>(8); } // 便于新 cookie 替换老的 cookie for (Cookie cookie : cookies) { -- GitLab