# Conflicts:
#	eladmin-common/src/main/java/me/zhengjie/utils/CallBack.java
#	eladmin-common/src/main/java/me/zhengjie/utils/FileUtil.java
#	eladmin-common/src/main/java/me/zhengjie/utils/SpringContextHolder.java
#	eladmin-common/src/main/java/me/zhengjie/utils/StringUtils.java
pull/403/head
廖金龙 2020-06-10 16:47:29 +08:00
commit 9b8b01c55c
4 changed files with 18 additions and 28 deletions

View File

@ -16,8 +16,6 @@
package me.zhengjie.utils;
import java.io.IOException;
/**
* @author: liaojinlong
* @date: 2020/6/9 17:02
@ -36,8 +34,7 @@ public interface CallBack {
/**
*
*
* @return
* @return /
*/
default String getCallBackName() {
return Thread.currentThread().getId() + ":" + this.getClass().getName();

View File

@ -21,7 +21,6 @@ import org.springframework.beans.factory.DisposableBean;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.core.env.Environment;
import java.util.ArrayList;
import java.util.List;
@ -33,7 +32,7 @@ import java.util.List;
public class SpringContextHolder implements ApplicationContextAware, DisposableBean {
private static ApplicationContext applicationContext = null;
private static List<CallBack> callBacks = new ArrayList<>();
private static final List<CallBack> CALL_BACKS = new ArrayList<>();
private static boolean addCallback = true;
/**
@ -44,7 +43,7 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB
*/
public synchronized static void addCallBacks(CallBack callBack) {
if (addCallback) {
SpringContextHolder.callBacks.add(callBack);
SpringContextHolder.CALL_BACKS.add(callBack);
} else {
log.warn("CallBack{} 已无法添加!立即执行", callBack.getCallBackName());
callBack.executor();
@ -74,14 +73,13 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB
* @param property key
* @param defaultValue
* @param requiredType
* @return
* @return /
*/
public static <T> T getProperties(String property, T defaultValue, Class<T> requiredType) {
T result = defaultValue;
try {
result = getBean(Environment.class).getProperty(property, requiredType);
} catch (Exception e) {
}
} catch (Exception ignored) {}
return result;
}
@ -89,7 +87,7 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB
* SpringBoot
*
* @param property key
* @return
* @return /
*/
public static String getProperties(String property) {
return getProperties(property, null, String.class);
@ -100,7 +98,7 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB
*
* @param property key
* @param requiredType
* @return
* @return /
*/
public static <T> T getProperties(String property, Class<T> requiredType) {
return getProperties(property, null, requiredType);
@ -137,10 +135,10 @@ public class SpringContextHolder implements ApplicationContextAware, DisposableB
}
SpringContextHolder.applicationContext = applicationContext;
if (addCallback) {
for (CallBack callBack : SpringContextHolder.callBacks) {
for (CallBack callBack : SpringContextHolder.CALL_BACKS) {
callBack.executor();
}
callBacks.clear();
CALL_BACKS.clear();
}
SpringContextHolder.addCallback = false;
}

View File

@ -22,16 +22,12 @@ import eu.bitwalker.useragentutils.Browser;
import eu.bitwalker.useragentutils.UserAgent;
import org.lionsoul.ip2region.DataBlock;
import org.lionsoul.ip2region.DbConfig;
import org.lionsoul.ip2region.DbMakerConfigException;
import org.lionsoul.ip2region.DbSearcher;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.io.ClassPathResource;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.FileNotFoundException;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.Calendar;
@ -42,28 +38,27 @@ import java.util.Date;
* , org.apache.commons.lang3.StringUtils
*/
public class StringUtils extends org.apache.commons.lang3.StringUtils {
private static final Logger log = LoggerFactory.getLogger(StringUtils.class);
private static boolean ipLocal = false;
private static DbSearcher searcher = null;
private static final char SEPARATOR = '_';
private static final String UNKNOWN = "unknown";
static {
SpringContextHolder.addCallBacks(() -> {
StringUtils.ipLocal = SpringContextHolder.getProperties("ip.local-parsing", false, Boolean.class);
if (ipLocal) {
/**
/*
*
*/
String path = "ip2region/ip2region.db";
String name = "ip2region.db";
DbConfig config = null;
DbConfig config;
try {
config = new DbConfig();
File file = FileUtil.inputStreamToFile(new ClassPathResource(path).getInputStream(), name);
searcher = new DbSearcher(config, file.getPath());
} catch (DbMakerConfigException | FileNotFoundException e) {
log.error(e.getMessage(), e);
} catch (NoSuchMethodException e) {
log.error(e.getMessage(), e);
} catch (Exception e) {
log.error(e.getMessage(), e);
}
@ -71,10 +66,6 @@ public class StringUtils extends org.apache.commons.lang3.StringUtils {
});
}
private static final char SEPARATOR = '_';
private static final String UNKNOWN = "unknown";
/**
*
*

View File

@ -68,6 +68,10 @@ jwt:
# 续期时间范围,默认 1小时这里单位毫秒
renew: 3600000
# IP 本地解析
ip:
local-parsing: true
#是否允许生成代码生产环境设置为false
generator:
enabled: false