Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
mica
mica
提交
4b1692ba
mica
项目概览
mica
/
mica
通知
10
Star
2
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
mica
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4b1692ba
编写于
5月 21, 2021
作者:
如梦技术
🐛
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
✨
优化一波代码。
上级
2ecd0e16
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
45 addition
and
24 deletion
+45
-24
mica-core/src/main/java/net/dreamlu/mica/core/compiler/ByteCodeLoader.java
...n/java/net/dreamlu/mica/core/compiler/ByteCodeLoader.java
+2
-2
mica-core/src/main/java/net/dreamlu/mica/core/utils/BeanUtil.java
...e/src/main/java/net/dreamlu/mica/core/utils/BeanUtil.java
+2
-2
mica-core/src/main/java/net/dreamlu/mica/core/utils/CountMap.java
...e/src/main/java/net/dreamlu/mica/core/utils/CountMap.java
+1
-1
mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/core/DbSearcher.java
...main/java/net/dreamlu/mica/ip2region/core/DbSearcher.java
+6
-5
mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/utils/Ip2regionUtil.java
.../java/net/dreamlu/mica/ip2region/utils/Ip2regionUtil.java
+12
-4
mica-laytpl/src/main/java/net/dreamlu/mica/laytpl/MicaTemplate.java
...l/src/main/java/net/dreamlu/mica/laytpl/MicaTemplate.java
+1
-1
mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingJsonFileAppender.java
...reamlu/mica/logging/appender/LoggingJsonFileAppender.java
+1
-1
mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingLogStashAppender.java
...reamlu/mica/logging/appender/LoggingLogStashAppender.java
+1
-1
mica-logging/src/main/java/net/dreamlu/mica/logging/config/LoggingInitializer.java
...a/net/dreamlu/mica/logging/config/LoggingInitializer.java
+14
-2
mica-logging/src/main/java/net/dreamlu/mica/logging/config/MicaLoggingConfiguration.java
...dreamlu/mica/logging/config/MicaLoggingConfiguration.java
+2
-2
mica-metrics/src/main/java/net/dreamlu/mica/metrics/druid/DruidMetricsConfiguration.java
...dreamlu/mica/metrics/druid/DruidMetricsConfiguration.java
+1
-1
mica-spider/src/main/java/net/dreamlu/mica/spider/http/HostCookieJar.java
...main/java/net/dreamlu/mica/spider/http/HostCookieJar.java
+2
-2
未找到文件。
mica-core/src/main/java/net/dreamlu/mica/core/compiler/ByteCodeLoader.java
浏览文件 @
4b1692ba
...
...
@@ -33,7 +33,7 @@ public class ByteCodeLoader extends SecureClassLoader {
/**
* Map which represents class name and its compiled java object
*/
private
static
final
ConcurrentMap
<
String
,
Class
<?>>
javaFileObjectMap
=
new
ConcurrentHashMap
<>();
private
static
final
ConcurrentMap
<
String
,
Class
<?>>
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
<
String
,
Class
<?>>
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
));
}
/**
...
...
mica-core/src/main/java/net/dreamlu/mica/core/utils/BeanUtil.java
浏览文件 @
4b1692ba
...
...
@@ -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
<
String
,
Object
>
difference
=
new
HashMap
<>();
Map
<
String
,
Object
>
difference
=
new
HashMap
<>(
8
);
difference
.
putAll
(
src
);
difference
.
putAll
(
dist
);
difference
.
entrySet
().
removeAll
(
src
.
entrySet
());
// 老值
Map
<
String
,
Object
>
oldValues
=
new
HashMap
<>();
Map
<
String
,
Object
>
oldValues
=
new
HashMap
<>(
8
);
difference
.
keySet
().
forEach
((
k
)
->
oldValues
.
put
(
k
,
src
.
get
(
k
)));
BeanDiff
diff
=
new
BeanDiff
();
diff
.
getFields
().
addAll
(
difference
.
keySet
());
...
...
mica-core/src/main/java/net/dreamlu/mica/core/utils/CountMap.java
浏览文件 @
4b1692ba
...
...
@@ -32,7 +32,7 @@ public class CountMap {
private
final
Map
<
Object
,
AtomicLong
>
data
;
public
CountMap
()
{
this
(
new
HashMap
<>());
this
(
new
HashMap
<>(
8
));
}
/**
...
...
mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/core/DbSearcher.java
浏览文件 @
4b1692ba
...
...
@@ -14,9 +14,6 @@ import java.nio.charset.StandardCharsets;
* @author chenxin<chenxin619315 @ gmail.com>
*/
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
);
...
...
mica-ip2region/src/main/java/net/dreamlu/mica/ip2region/utils/Ip2regionUtil.java
浏览文件 @
4b1692ba
...
...
@@ -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
;
...
...
mica-laytpl/src/main/java/net/dreamlu/mica/laytpl/MicaTemplate.java
浏览文件 @
4b1692ba
...
...
@@ -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
<
String
,
String
>
config
=
new
HashMap
<>(
2
);
Map
<
String
,
String
>
config
=
new
HashMap
<>(
4
);
config
.
put
(
"open"
,
tplProperties
.
getOpen
());
config
.
put
(
"close"
,
tplProperties
.
getClose
());
bindings
.
put
(
"console"
,
console
);
...
...
mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingJsonFileAppender.java
浏览文件 @
4b1692ba
...
...
@@ -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
<
String
,
Object
>
customFields
=
new
HashMap
<>();
Map
<
String
,
Object
>
customFields
=
new
HashMap
<>(
4
);
customFields
.
put
(
"appName"
,
appName
);
customFields
.
put
(
"profile"
,
profile
);
this
.
customFieldsJson
=
JsonUtil
.
toJson
(
customFields
);
...
...
mica-logging/src/main/java/net/dreamlu/mica/logging/appender/LoggingLogStashAppender.java
浏览文件 @
4b1692ba
...
...
@@ -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
<
String
,
Object
>
customFields
=
new
HashMap
<>();
Map
<
String
,
Object
>
customFields
=
new
HashMap
<>(
4
);
customFields
.
put
(
"appName"
,
appName
);
customFields
.
put
(
"profile"
,
profile
);
this
.
customFieldsJson
=
JsonUtil
.
toJson
(
customFields
);
...
...
mica-logging/src/main/java/net/dreamlu/mica/logging/config/LoggingInitializer.java
浏览文件 @
4b1692ba
...
...
@@ -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
<
String
,
Object
>
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
...
...
mica-logging/src/main/java/net/dreamlu/mica/logging/config/MicaLoggingConfiguration.java
浏览文件 @
4b1692ba
...
...
@@ -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
L
oki
_CLASS_NAME
=
"com.github.loki4j.logback.Loki4jAppender"
;
private
static
final
String
L
OKI
_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
(
L
oki
_CLASS_NAME
,
classLoader
);
return
ClassUtils
.
isPresent
(
L
OKI
_CLASS_NAME
,
classLoader
);
}
}
...
...
mica-metrics/src/main/java/net/dreamlu/mica/metrics/druid/DruidMetricsConfiguration.java
浏览文件 @
4b1692ba
...
...
@@ -61,7 +61,7 @@ public class DruidMetricsConfiguration {
@Bean
public
DruidMetrics
druidMetrics
(
ObjectProvider
<
Map
<
String
,
DataSource
>>
dataSourcesProvider
)
{
Map
<
String
,
DataSource
>
dataSourceMap
=
dataSourcesProvider
.
getIfAvailable
(
HashMap:
:
new
);
Map
<
String
,
DruidDataSource
>
druidDataSourceMap
=
new
HashMap
<>(
1
);
Map
<
String
,
DruidDataSource
>
druidDataSourceMap
=
new
HashMap
<>(
2
);
dataSourceMap
.
forEach
((
name
,
dataSource
)
->
{
// 保证连接池数据和 DataSourcePoolMetadataProvider 的一致
druidDataSourceMap
.
put
(
getDataSourceName
(
name
),
DataSourceUnwrapper
.
unwrap
(
dataSource
,
DruidDataSource
.
class
));
...
...
mica-spider/src/main/java/net/dreamlu/mica/spider/http/HostCookieJar.java
浏览文件 @
4b1692ba
...
...
@@ -33,14 +33,14 @@ public enum HostCookieJar implements CookieJar {
*/
INSTANCE
;
private
static
final
Map
<
String
,
Map
<
String
,
Cookie
>>
COOKIE_MAP
=
new
HashMap
<>();
private
static
final
Map
<
String
,
Map
<
String
,
Cookie
>>
COOKIE_MAP
=
new
HashMap
<>(
8
);
@Override
public
void
saveFromResponse
(
HttpUrl
url
,
List
<
Cookie
>
cookies
)
{
String
host
=
url
.
host
();
Map
<
String
,
Cookie
>
cookieMap
=
COOKIE_MAP
.
get
(
host
);
if
(
cookieMap
==
null
)
{
cookieMap
=
new
HashMap
<>();
cookieMap
=
new
HashMap
<>(
8
);
}
// 便于新 cookie 替换老的 cookie
for
(
Cookie
cookie
:
cookies
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录