Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
matrix
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
CI / CD
CI / CD
Pipelines
Schedules
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
mall
arch
matrix
Commits
0ed2cc02
Commit
0ed2cc02
authored
Jul 02, 2019
by
QIANGLU
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev'
# Conflicts: # pom.xml
parents
fd113e95
f5ff8b9a
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
155 additions
and
61 deletions
+155
-61
README.md
README.md
+1
-0
pom.xml
monitor-starter/pom.xml
+5
-0
MonitorAutoConfiguration.java
monitor-starter/src/main/java/com/secoo/matrix/monitor/config/MonitorAutoConfiguration.java
+10
-0
HttpTraceFilter.java
monitor-starter/src/main/java/com/secoo/matrix/monitor/filter/HttpTraceFilter.java
+31
-0
LoggerFilter.java
monitor-starter/src/main/java/com/secoo/matrix/monitor/filter/LoggerFilter.java
+1
-1
TraceInterceptor.java
monitor-starter/src/main/java/com/secoo/matrix/monitor/http/TraceInterceptor.java
+1
-1
com.alibaba.dubbo.rpc.Filter
monitor-starter/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter
+1
-1
spring.factories
monitor-starter/src/main/resources/META-INF/spring.factories
+4
-0
pom.xml
pom.xml
+18
-18
ControllerResponseAdvice.java
web-starter/src/main/java/com/secoo/mall/web/advice/ControllerResponseAdvice.java
+2
-2
MultLangConfig.java
web-starter/src/main/java/com/secoo/mall/web/config/MultLangConfig.java
+57
-0
WebConfig.java
web-starter/src/main/java/com/secoo/mall/web/config/WebConfig.java
+21
-38
DefaultLocaleResolver.java
web-starter/src/main/java/com/secoo/mall/web/resolver/DefaultLocaleResolver.java
+3
-0
No files found.
README.md
View file @
0ed2cc02
...
@@ -32,6 +32,7 @@
...
@@ -32,6 +32,7 @@
1、增加monitor traceId监控模块
1、增加monitor traceId监控模块
2、增加防灾冗余
2、增加防灾冗余
3、优化文件结构
3、优化文件结构
4、增加对controller返回null响应增强
1.
0.2.RELEASE
1.
0.2.RELEASE
...
...
monitor-starter/pom.xml
View file @
0ed2cc02
...
@@ -35,5 +35,9 @@
...
@@ -35,5 +35,9 @@
<artifactId>
dubbo
</artifactId>
<artifactId>
dubbo
</artifactId>
<version>
2.7.2
</version>
<version>
2.7.2
</version>
</dependency>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-autoconfigure
</artifactId>
</dependency>
</dependencies>
</dependencies>
</project>
</project>
\ No newline at end of file
monitor-starter/src/main/java/com/secoo/matrix/monitor/config/MonitorAutoConfiguration.java
0 → 100644
View file @
0ed2cc02
package
com
.
secoo
.
matrix
.
monitor
.
config
;
import
org.springframework.context.annotation.Configuration
;
@Configuration
public
class
MonitorAutoConfiguration
{
}
monitor-starter/src/main/java/com/secoo/matrix/monitor/filter/HttpTraceFilter.java
0 → 100644
View file @
0ed2cc02
package
com
.
secoo
.
matrix
.
monitor
.
filter
;
import
com.secoo.matrix.monitor.utils.TraceIDUtils
;
import
javax.servlet.*
;
import
java.io.IOException
;
/**
* @author qianglu
*/
public
class
HttpTraceFilter
implements
Filter
{
@Override
public
void
init
(
FilterConfig
filterConfig
)
throws
ServletException
{
}
@Override
public
void
doFilter
(
ServletRequest
servletRequest
,
ServletResponse
servletResponse
,
FilterChain
filterChain
)
throws
IOException
,
ServletException
{
try
{
TraceIDUtils
.
continueTraceID
();
filterChain
.
doFilter
(
servletRequest
,
servletResponse
);
}
catch
(
Exception
e
)
{
}
}
@Override
public
void
destroy
()
{
}
}
monitor-starter/src/main/java/com/secoo/matrix/monitor/
rcp/
filter/LoggerFilter.java
→
monitor-starter/src/main/java/com/secoo/matrix/monitor/filter/LoggerFilter.java
View file @
0ed2cc02
package
com
.
secoo
.
matrix
.
monitor
.
rcp
.
filter
;
package
com
.
secoo
.
matrix
.
monitor
.
filter
;
import
com.secoo.matrix.monitor.constant.MonitorConstant
;
import
com.secoo.matrix.monitor.constant.MonitorConstant
;
import
com.secoo.matrix.monitor.utils.TraceIDUtils
;
import
com.secoo.matrix.monitor.utils.TraceIDUtils
;
...
...
monitor-starter/src/main/java/com/secoo/matrix/monitor/http/
intercept/
TraceInterceptor.java
→
monitor-starter/src/main/java/com/secoo/matrix/monitor/http/TraceInterceptor.java
View file @
0ed2cc02
package
com
.
secoo
.
matrix
.
monitor
.
http
.
intercept
;
package
com
.
secoo
.
matrix
.
monitor
.
http
;
import
com.secoo.matrix.monitor.utils.TraceIDUtils
;
import
com.secoo.matrix.monitor.utils.TraceIDUtils
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
...
...
monitor-starter/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter
View file @
0ed2cc02
logFilter=com.secoo.matrix.monitor.rcp
.filter.LoggerFilter
#logFilter=com.secoo.matrix.monitor
.filter.LoggerFilter
monitor-starter/src/main/resources/META-INF/spring.factories
View file @
0ed2cc02
# Auto Configure
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
com.secoo.matrix.monitor.config.MonitorAutoConfiguration
\ No newline at end of file
pom.xml
View file @
0ed2cc02
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
matrix
</artifactId>
<artifactId>
matrix
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
<packaging>
pom
</packaging>
<packaging>
pom
</packaging>
...
@@ -20,9 +20,10 @@
...
@@ -20,9 +20,10 @@
<module>
dubbo-starter
</module>
<module>
dubbo-starter
</module>
<module>
web-starter
</module>
<module>
web-starter
</module>
<module>
openfeign-starter
</module>
<module>
openfeign-starter
</module>
<module>
monitor-starter
</module>
<module>
rocketmq-starter
</module>
<module>
rocketmq-starter
</module>
<module>
config-starter
</module>
<module>
config-starter
</module>
<module>
monitor-starter
</module>
<module>
config-starter
</module>
</modules>
</modules>
<parent>
<parent>
...
@@ -58,7 +59,9 @@
...
@@ -58,7 +59,9 @@
</profile>
</profile>
<profile>
<profile>
<id>
test
</id>
<id>
test
</id>
<activation>
<activeByDefault>
true
</activeByDefault>
</activation>
<properties>
<properties>
<ver_type>
-SNAPSHOT
</ver_type>
<ver_type>
-SNAPSHOT
</ver_type>
<repo_id>
secoo-test
</repo_id>
<repo_id>
secoo-test
</repo_id>
...
@@ -75,9 +78,6 @@
...
@@ -75,9 +78,6 @@
</profile>
</profile>
<profile>
<profile>
<id>
pro
</id>
<id>
pro
</id>
<activation>
<activeByDefault>
true
</activeByDefault>
</activation>
<properties>
<properties>
<ver_type>
.RELEASE
</ver_type>
<ver_type>
.RELEASE
</ver_type>
<repo_id>
secoo-pro
</repo_id>
<repo_id>
secoo-pro
</repo_id>
...
@@ -99,62 +99,62 @@
...
@@ -99,62 +99,62 @@
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
monitor-starter
</artifactId>
<artifactId>
monitor-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
common-core
</artifactId>
<artifactId>
common-core
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
config-starter
</artifactId>
<artifactId>
config-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
common-util
</artifactId>
<artifactId>
common-util
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
redis-starter
</artifactId>
<artifactId>
redis-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
mybatis-starter
</artifactId>
<artifactId>
mybatis-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
mongodb-starter
</artifactId>
<artifactId>
mongodb-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
elasticsearch-starter
</artifactId>
<artifactId>
elasticsearch-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
dubbo-starter
</artifactId>
<artifactId>
dubbo-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
web-starter
</artifactId>
<artifactId>
web-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
rocketmq-starter
</artifactId>
<artifactId>
rocketmq-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
openfeign-starter
</artifactId>
<artifactId>
openfeign-starter
</artifactId>
<version>
1.0.3
.RELEASE
</version>
<version>
1.0.3
-DEV-SNAPSHOT
</version>
</dependency>
</dependency>
<dependency>
<dependency>
...
...
web-starter/src/main/java/com/secoo/mall/web/advice/ControllerResponseAdvice.java
View file @
0ed2cc02
...
@@ -36,7 +36,7 @@ public class ControllerResponseAdvice implements ResponseBodyAdvice<Object> {
...
@@ -36,7 +36,7 @@ public class ControllerResponseAdvice implements ResponseBodyAdvice<Object> {
@ExceptionHandler
(
ParameterException
.
class
)
@ExceptionHandler
(
ParameterException
.
class
)
public
Object
parameterExceptionHandler
(
ParameterException
e
)
{
public
Object
parameterExceptionHandler
(
ParameterException
e
)
{
String
msg
=
getMsg
(
e
);
String
msg
=
getMsg
(
e
);
LoggerUtil
.
info
(
msg
);
LoggerUtil
.
info
(
msg
);
return
ResponseUtil
.
getFailResponse
(
e
.
getCode
(),
msg
);
return
ResponseUtil
.
getFailResponse
(
e
.
getCode
(),
msg
);
}
}
...
@@ -54,7 +54,7 @@ public class ControllerResponseAdvice implements ResponseBodyAdvice<Object> {
...
@@ -54,7 +54,7 @@ public class ControllerResponseAdvice implements ResponseBodyAdvice<Object> {
@Override
@Override
public
Object
beforeBodyWrite
(
Object
o
,
MethodParameter
methodParameter
,
MediaType
mediaType
,
Class
<?
extends
HttpMessageConverter
<?>>
aClass
,
ServerHttpRequest
serverHttpRequest
,
ServerHttpResponse
serverHttpResponse
)
{
public
Object
beforeBodyWrite
(
Object
o
,
MethodParameter
methodParameter
,
MediaType
mediaType
,
Class
<?
extends
HttpMessageConverter
<?>>
aClass
,
ServerHttpRequest
serverHttpRequest
,
ServerHttpResponse
serverHttpResponse
)
{
return
ResponseUtil
.
getSuccessResponse
(
o
);
return
ResponseUtil
.
getSuccessResponse
(
o
);
}
}
private
String
getMsg
(
BusinessException
e
)
{
private
String
getMsg
(
BusinessException
e
)
{
...
...
web-starter/src/main/java/com/secoo/mall/web/config/MultLangConfig.java
0 → 100644
View file @
0ed2cc02
package
com
.
secoo
.
mall
.
web
.
config
;
import
com.fasterxml.jackson.annotation.JsonInclude
;
import
com.fasterxml.jackson.databind.ObjectMapper
;
import
com.secoo.mall.web.resolver.DefaultLocaleResolver
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.support.ResourceBundleMessageSource
;
import
org.springframework.web.servlet.LocaleResolver
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
org.springframework.web.servlet.i18n.LocaleChangeInterceptor
;
import
java.text.SimpleDateFormat
;
import
java.util.Locale
;
/**
* 多语言配置
*/
@Configuration
public
class
MultLangConfig
implements
WebMvcConfigurer
{
@Bean
public
ResourceBundleMessageSource
messageSource
()
{
ResourceBundleMessageSource
messageSource
=
new
ResourceBundleMessageSource
();
messageSource
.
setBasename
(
"i18n/message"
);
return
messageSource
;
}
@Bean
(
name
=
"localeResolver"
)
public
LocaleResolver
localeCookieResolver
()
{
DefaultLocaleResolver
localeResolver
=
new
DefaultLocaleResolver
();
localeResolver
.
setCookieName
(
"language"
);
//设置默认区域
localeResolver
.
setDefaultLocale
(
Locale
.
SIMPLIFIED_CHINESE
);
localeResolver
.
setCookieMaxAge
(
3600
);
//设置cookie有效期.
return
localeResolver
;
}
@Bean
public
LocaleChangeInterceptor
localeChangeInterceptor
()
{
LocaleChangeInterceptor
lci
=
new
LocaleChangeInterceptor
();
// 参数名
lci
.
setParamName
(
"lang"
);
return
lci
;
}
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
localeChangeInterceptor
());
}
}
web-starter/src/main/java/com/secoo/mall/web/config/WebConfig.java
View file @
0ed2cc02
package
com
.
secoo
.
mall
.
web
.
config
;
package
com
.
secoo
.
mall
.
web
.
config
;
import
com.secoo.mall.web.resolver.DefaultLocaleResolver
;
import
com.alibaba.fastjson.serializer.SerializerFeature
;
import
com.alibaba.fastjson.support.config.FastJsonConfig
;
import
com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter
;
import
org.springframework.boot.autoconfigure.http.HttpMessageConverters
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.support.ResourceBundleMessageSource
;
import
org.springframework.http.MediaType
;
import
org.springframework.web.servlet.LocaleResolver
;
import
org.springframework.http.converter.HttpMessageConverter
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
org.springframework.web.servlet.i18n.LocaleChangeInterceptor
;
import
java.util.Locale
;
import
java.util.ArrayList
;
import
java.util.List
;
@Configuration
@Configuration
public
class
WebConfig
implements
WebMvcConfigurer
{
public
class
WebConfig
{
@Bean
@Bean
public
ResourceBundleMessageSource
messageSource
()
{
public
HttpMessageConverters
fastJsonHttpMessageConverters
()
{
ResourceBundleMessageSource
messageSource
=
new
ResourceBundleMessageSource
();
FastJsonHttpMessageConverter
fastJsonHttpMessageConverter
=
new
FastJsonHttpMessageConverter
();
messageSource
.
setBasename
(
"i18n/message"
);
FastJsonConfig
fastJsonConfig
=
new
FastJsonConfig
();
return
messageSource
;
fastJsonConfig
.
setSerializerFeatures
(
SerializerFeature
.
WriteMapNullValue
);
}
List
<
MediaType
>
fastMediaTypes
=
new
ArrayList
<>();
fastMediaTypes
.
add
(
MediaType
.
APPLICATION_JSON_UTF8
);
fastJsonHttpMessageConverter
.
setSupportedMediaTypes
(
fastMediaTypes
);
@Bean
(
name
=
"localeResolver"
)
fastJsonHttpMessageConverter
.
setFastJsonConfig
(
fastJsonConfig
);
public
LocaleResolver
localeCookieResolver
()
{
fastJsonConfig
.
setDateFormat
(
"yyyy-MM-dd HH:mm:ss"
);
DefaultLocaleResolver
localeResolver
=
new
DefaultLocaleResolver
();
localeResolver
.
setCookieName
(
"language"
);
return
new
HttpMessageConverters
((
HttpMessageConverter
<?>)
fastJsonHttpMessageConverter
);
//设置默认区域
localeResolver
.
setDefaultLocale
(
Locale
.
SIMPLIFIED_CHINESE
);
localeResolver
.
setCookieMaxAge
(
3600
);
//设置cookie有效期.
return
localeResolver
;
}
@Bean
public
LocaleChangeInterceptor
localeChangeInterceptor
()
{
LocaleChangeInterceptor
lci
=
new
LocaleChangeInterceptor
();
// 参数名
lci
.
setParamName
(
"lang"
);
return
lci
;
}
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
registry
.
addInterceptor
(
localeChangeInterceptor
());
}
}
}
}
web-starter/src/main/java/com/secoo/mall/web/resolver/DefaultLocaleResolver.java
View file @
0ed2cc02
...
@@ -7,6 +7,9 @@ import org.springframework.web.servlet.i18n.CookieLocaleResolver;
...
@@ -7,6 +7,9 @@ import org.springframework.web.servlet.i18n.CookieLocaleResolver;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Locale
;
import
java.util.Locale
;
/**
* 多语言解析器
*/
public
class
DefaultLocaleResolver
extends
CookieLocaleResolver
{
public
class
DefaultLocaleResolver
extends
CookieLocaleResolver
{
@Nullable
@Nullable
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment