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
09d22dd5
Commit
09d22dd5
authored
Apr 13, 2020
by
共享中心代码生成
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_2.0.1' into 'master'
Dev 2.0.1 See merge request mall/arch/matrix!64
parents
b8a9575f
5d94e707
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
44 additions
and
283 deletions
+44
-283
README.md
README.md
+20
-0
MatrixDynamicDataSource.java
matrix-datasource/matrix-datasource-core/src/main/java/com/secoo/mall/datasource/bean/MatrixDynamicDataSource.java
+1
-0
AbstractMessageConverter.java
matrix-mq/matrix-mq-rocketmq-core/src/main/java/com/secoo/mall/rocketmq/converter/AbstractMessageConverter.java
+3
-2
pom.xml
matrix-mybatis/matrix-mybatis-core/pom.xml
+0
-4
pom.xml
matrix-mybatis/matrix-mybatis-starter/pom.xml
+0
-4
MatrixDataSourceBootProperties.java
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/autoconfigure/MatrixDataSourceBootProperties.java
+0
-10
MatrixMybatisAutoConfiguration.java
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/autoconfigure/MatrixMybatisAutoConfiguration.java
+15
-35
MybatisApplicationContextInitializer.java
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/initializer/MybatisApplicationContextInitializer.java
+0
-93
MybatisApplicationRunListener.java
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/listener/MybatisApplicationRunListener.java
+0
-135
pom.xml
pom.xml
+5
-0
No files found.
README.md
View file @
09d22dd5
...
...
@@ -4,6 +4,24 @@ Matrix (矩阵)是一套组件增强套件,包括redis、rocketmq等中间件
# 组件
## V 2.x.x组件
主要进行组件进行
-
升级springboot到2.2.5
-
删除模块:
<br>
elasticsearch-starter、 mongodb-starter、monitor-starter、matrix-rocketmq-core
-
新增模块
<br>
1.
matrix-bigdata封装hbase、spark等针对大数据相关技术组件
1.
matrix-bus封装canal等涉及数据总线相关组件
-
调整模块:
<br>
1.
openfeign-starter->matrix-client-openfeign-starter
1.
redis-starter->matrix-datahelper-redis-starter
1.
rocketmq-starter->matrix-mq-rocketmq-starter
## V 1.x.x组件
-
[
common-core
](
common-core/README.md
)
:提供通用bean,核心注解,定义通用业务异常。
-
[
common-util
](
common-util/README.md
)
: 提供BeanUtil,BeanChecker、CollectionUtil等工具类。
...
...
@@ -36,6 +54,8 @@ Matrix (矩阵)是一套组件增强套件,包括redis、rocketmq等中间件
# 示例
-
[
matrix-sample
](
http://gitlab.secoo.com:8090/mall/arch/matrix-sample.git
)
# 期望
> 欢迎提出[issue](http://gitlab.secoo.com:8090/mall/arch/matrix/issues),帮助完善!
...
...
matrix-datasource/matrix-datasource-core/src/main/java/com/secoo/mall/datasource/bean/MatrixDynamicDataSource.java
View file @
09d22dd5
...
...
@@ -11,6 +11,7 @@ import java.util.List;
* 此数据源为支持@selectDataSource注解的多数据源使用
*/
@Slf4j
@Deprecated
public
class
MatrixDynamicDataSource
extends
AbsDataSource
{
@Override
...
...
matrix-mq/matrix-mq-rocketmq-core/src/main/java/com/secoo/mall/rocketmq/converter/AbstractMessageConverter.java
View file @
09d22dd5
...
...
@@ -286,4 +286,5 @@ public abstract class AbstractMessageConverter implements SmartMessageConverter
Object
payload
,
@Nullable
MessageHeaders
headers
,
@Nullable
Object
conversionHint
)
{
return
null
;
}
\ No newline at end of file
}
}
\ No newline at end of file
matrix-mybatis/matrix-mybatis-core/pom.xml
View file @
09d22dd5
...
...
@@ -17,10 +17,6 @@
<artifactId>
mybatis-plus
</artifactId>
<version>
${mybatis-plus.version}
</version>
</dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
matrix-datasource-druid
</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
...
...
matrix-mybatis/matrix-mybatis-starter/pom.xml
View file @
09d22dd5
...
...
@@ -29,10 +29,6 @@
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-aop
</artifactId>
</dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
config-starter
</artifactId>
</dependency>
</dependencies>
<build>
...
...
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/autoconfigure/MatrixDataSourceBootProperties.java
deleted
100644 → 0
View file @
b8a9575f
package
com
.
secoo
.
mall
.
mybatis
.
spring
.
boot
.
autoconfigure
;
import
com.secoo.mall.datasource.properties.MatrixDataSourceProperties
;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
@ConfigurationProperties
(
prefix
=
MatrixDataSourceBootProperties
.
PREFIX
)
public
class
MatrixDataSourceBootProperties
extends
MatrixDataSourceProperties
{
public
static
final
String
PREFIX
=
MatrixDataSourceProperties
.
PREFIX
+
".default"
;
}
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/autoconfigure/MatrixMybatisAutoConfiguration.java
View file @
09d22dd5
...
...
@@ -2,13 +2,8 @@ package com.secoo.mall.mybatis.spring.boot.autoconfigure;
import
com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration
;
import
com.baomidou.mybatisplus.core.MybatisConfiguration
;
import
com.ctrip.framework.apollo.spring.boot.ApolloAutoConfiguration
;
import
com.secoo.mall.datasource.bean.MatrixDataSource
;
import
com.secoo.mall.datasource.factory.DataSourceFactory
;
import
com.secoo.mall.datasource.factory.DruidDataSourceFactory
;
import
com.secoo.mall.datasource.provider.ApolloDruidDataSourceProvider
;
import
com.secoo.mall.datasource.provider.DataSourceProvider
;
import
com.secoo.mall.datasource.util.SysUtil
;
import
com.baomidou.mybatisplus.core.config.GlobalConfig
;
;
import
com.secoo.mall.mybatis.bean.MatrixMybatisSqlSessionFactoryBean
;
import
com.secoo.mall.mybatis.config.MatrixMybatisConfiguration
;
import
com.secoo.mall.mybatis.config.MatrixMybatisGlobalConfig
;
...
...
@@ -29,51 +24,33 @@ import org.springframework.context.annotation.Configuration;
import
org.springframework.util.ObjectUtils
;
import
org.springframework.util.StringUtils
;
import
javax.annotation.Resource
;
import
javax.sql.DataSource
;
import
java.util.Optional
;
@Configuration
@EnableConfigurationProperties
({
MatrixMybatisBootProperties
.
class
})
@ConditionalOnClass
(
MatrixDataSource
.
class
)
@AutoConfigureBefore
({
DataSourceAutoConfiguration
.
class
,
MybatisPlusAutoConfiguration
.
class
})
@AutoConfigureAfter
(
ApolloAutoConfiguration
.
class
)
@Slf4j
public
class
MatrixMybatisAutoConfiguration
{
@Setter
private
MatrixDataSourceBootProperties
matrixDataSourceBootProperties
;
@
Autowired
@
Resource
private
MatrixMybatisBootProperties
properties
;
public
MatrixMybatisAutoConfiguration
()
{
log
.
info
(
"Init MatrixDataSouceAutoConfiguration"
);
}
/**
* 如果没有声明,则使用默认的
*
* @return
*/
@Bean
@ConditionalOnMissingBean
(
DataSource
.
class
)
public
DataSource
dataSource
()
{
return
new
MatrixDataSource
(
"default"
);
log
.
info
(
"Init MatrixMybatisAutoConfiguration"
);
}
@Bean
@ConditionalOnMissingBean
(
SqlSessionFactory
.
class
)
public
SqlSessionFactory
sqlSessionFactory
(
DataSource
dataSource
)
throws
Exception
{
MybatisConfiguration
mybatisConfiguration
=
Optional
.
ofNullable
(
properties
.
getConfiguration
()).
orElse
(
matrixMybatisConfig
());
MatrixMybatisGlobalConfig
globalConfig
=
Optional
.
ofNullable
(
properties
.
getGlobalConfig
()).
orElse
(
matrixMybatisGlobalConfig
());
public
SqlSessionFactory
sqlSessionFactory
(
DataSource
dataSource
,
MatrixMybatisGlobalConfig
globalConfig
,
MybatisConfiguration
mybatisConfiguration
)
throws
Exception
{
MatrixMybatisSqlSessionFactoryBean
factory
=
new
MatrixMybatisSqlSessionFactoryBean
();
String
aliasesPackage
=
Optional
.
ofNullable
(
this
.
properties
.
getTypeAliasesPackage
()).
orElse
(
MatrixMybatisProperties
.
DEFAULT_ALIAS_PACKAGES
);
String
[]
mapperLocations
=
Optional
.
ofNullable
(
this
.
properties
.
getMapperLocations
()).
orElse
(
MatrixMybatisProperties
.
DEFAULT_MAPPER_LOCATIONS
);
this
.
properties
.
setTypeAliasesPackage
(
aliasesPackage
);
this
.
properties
.
setMapperLocations
(
mapperLocations
);
if
(
this
.
properties
.
getConfigurationProperties
()
!=
null
)
{
factory
.
setConfigurationProperties
(
this
.
properties
.
getConfigurationProperties
());
}
if
(
this
.
properties
.
getConfigurationProperties
()
!=
null
)
{
factory
.
setConfigurationProperties
(
this
.
properties
.
getConfigurationProperties
());
...
...
@@ -102,13 +79,16 @@ public class MatrixMybatisAutoConfiguration {
return
factory
.
getObject
();
}
public
MatrixMybatisGlobalConfig
matrixMybatisGlobalConfig
()
{
@Bean
@ConditionalOnMissingBean
(
GlobalConfig
.
class
)
public
MatrixMybatisGlobalConfig
globalConfig
()
{
MatrixMybatisGlobalConfig
globalConfig
=
new
MatrixMybatisGlobalConfig
();
return
globalConfig
;
}
public
MatrixMybatisConfiguration
matrixMybatisConfig
()
{
@Bean
@ConditionalOnMissingBean
(
MybatisConfiguration
.
class
)
public
MatrixMybatisConfiguration
mybatisConfiguration
()
{
MatrixMybatisConfiguration
config
=
new
MatrixMybatisConfiguration
();
return
config
;
}
...
...
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/initializer/MybatisApplicationContextInitializer.java
deleted
100644 → 0
View file @
b8a9575f
package
com
.
secoo
.
mall
.
mybatis
.
spring
.
boot
.
initializer
;
import
com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.core.env.ConfigurableEnvironment
;
public
class
MybatisApplicationContextInitializer
extends
ApolloApplicationContextInitializer
{
private
static
Logger
log
=
LoggerFactory
.
getLogger
(
MybatisApplicationContextInitializer
.
class
);
public
static
String
MYBATIS_ENCRYPT_PWD
=
"mybatis.encryptor.pwd"
;
public
static
String
MYBATIS_ENCRYPT_SALT
=
"mybatis.encryptor.salt"
;
public
static
String
ENCRYPT_FILE_NAME
=
"encryptor.properties"
;
@Override
protected
void
initialize
(
ConfigurableEnvironment
environment
)
{
super
.
initialize
(
environment
);
}
// public static Integer ORDER = ApolloApplicationContextInitializer.DEFAULT_ORDER + 100;
/* @Override
public void initialize(ConfigurableApplicationContext context) {
//log.info("initialize.....................");
ConfigurableEnvironment environment = context.getEnvironment();
if (!environment.containsProperty(MYBATIS_ENCRYPT_PWD)) {
Properties properties = new Properties();
//从-D读取
initDConfig(properties);
//从文件加载
initFileConfig(properties);
//解密配置
initApolloConfig(properties);
environment.getPropertySources();
environment.getPropertySources().addFirst((new PropertiesPropertySource("matrixProperties", properties)));
}
}
@Override
public int getOrder() {
return ORDER;
}
@Override
public void postProcessEnvironment(ConfigurableEnvironment environment, SpringApplication application) {
// log.info("postProcessEnvironment.......");
}
private void initDConfig(Properties properties) {
if (System.getProperty(MYBATIS_ENCRYPT_PWD) != null) {
properties.setProperty(MYBATIS_ENCRYPT_PWD, System.getProperty(MYBATIS_ENCRYPT_PWD));
properties.setProperty(MYBATIS_ENCRYPT_SALT, System.getProperty(MYBATIS_ENCRYPT_SALT));
}
}
private void initFileConfig(Properties properties) {
if(!properties.containsKey(MYBATIS_ENCRYPT_PWD)) {
try {
File file = ResourceUtils.getFile(SystemUtils.USER_HOME + File.separator + ENCRYPT_FILE_NAME);
if (!file.exists()) {
// log.warn(ENCRYPT_FILE_NAME + " not exist");
return;
}
properties.load(new FileInputStream(file));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
*//**
* 解密相关的配置
*//*
private void initApolloConfig(Properties properties){
Config appConfig = ConfigService.getConfig("db.config");
Set<String> propertyNames = appConfig.getPropertyNames();
// log.info(propertyNames.toString());
}*/
}
matrix-mybatis/matrix-mybatis-starter/src/main/java/com/secoo/mall/mybatis/spring/boot/listener/MybatisApplicationRunListener.java
deleted
100644 → 0
View file @
b8a9575f
package
com
.
secoo
.
mall
.
mybatis
.
spring
.
boot
.
listener
;
import
com.ctrip.framework.apollo.Config
;
import
com.ctrip.framework.apollo.ConfigService
;
import
com.ctrip.framework.apollo.spring.boot.ApolloApplicationContextInitializer
;
import
lombok.NoArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.SystemUtils
;
import
org.springframework.boot.SpringApplication
;
import
org.springframework.boot.SpringApplicationRunListener
;
import
org.springframework.context.ConfigurableApplicationContext
;
import
org.springframework.core.Ordered
;
import
org.springframework.core.env.ConfigurableEnvironment
;
import
org.springframework.core.env.PropertiesPropertySource
;
import
org.springframework.util.ResourceUtils
;
import
java.io.File
;
import
java.io.FileInputStream
;
import
java.io.FileNotFoundException
;
import
java.io.IOException
;
import
java.util.Properties
;
import
java.util.Set
;
@Slf4j
@NoArgsConstructor
public
class
MybatisApplicationRunListener
implements
SpringApplicationRunListener
,
Ordered
{
public
static
String
MYBATIS_ENCRYPT_PWD
=
"mybats.encryptor.pwd"
;
public
static
String
MYBATIS_ENCRYPT_SALT
=
"mybats.encryptor.salt"
;
public
static
String
ENCRYPT_FILE_NAME
=
"encryptor.properties"
;
public
static
Integer
ORDER
=
ApolloApplicationContextInitializer
.
DEFAULT_ORDER
+
1
;
public
MybatisApplicationRunListener
(
SpringApplication
application
,
String
[]
args
)
{
}
@Override
public
void
starting
()
{
log
.
info
(
"Appication Starting....."
);
}
/**
* 配置加载的依次顺序:
* 1.-spring.config方式加载外部配置
* 2.-D获取
* 3.本地
*
* @param environment
*/
@Override
public
void
environmentPrepared
(
ConfigurableEnvironment
environment
)
{
if
(!
environment
.
containsProperty
(
MYBATIS_ENCRYPT_PWD
))
{
Properties
properties
=
new
Properties
();
//从-D读取
initDConfig
(
properties
);
//从文件加载
initFileConfig
(
properties
);
//解密配置
// initApolloConfig(properties);
environment
.
getPropertySources
();
environment
.
getPropertySources
().
addFirst
((
new
PropertiesPropertySource
(
"matrixProperties"
,
properties
)));
}
}
@Override
public
void
contextPrepared
(
ConfigurableApplicationContext
context
)
{
ConfigurableEnvironment
environment
=
context
.
getEnvironment
();
log
.
info
(
"contextPrepared......"
);
}
@Override
public
void
contextLoaded
(
ConfigurableApplicationContext
context
)
{
}
@Override
public
void
started
(
ConfigurableApplicationContext
context
)
{
}
@Override
public
void
running
(
ConfigurableApplicationContext
context
)
{
}
@Override
public
void
failed
(
ConfigurableApplicationContext
context
,
Throwable
exception
)
{
}
@Override
public
int
getOrder
()
{
return
ORDER
;
}
private
void
initDConfig
(
Properties
properties
)
{
if
(
System
.
getProperty
(
MYBATIS_ENCRYPT_PWD
)
!=
null
)
{
properties
.
setProperty
(
MYBATIS_ENCRYPT_PWD
,
System
.
getProperty
(
MYBATIS_ENCRYPT_PWD
));
properties
.
setProperty
(
MYBATIS_ENCRYPT_SALT
,
System
.
getProperty
(
MYBATIS_ENCRYPT_SALT
));
}
}
private
void
initFileConfig
(
Properties
properties
)
{
if
(!
properties
.
containsKey
(
MYBATIS_ENCRYPT_PWD
))
{
try
{
File
file
=
ResourceUtils
.
getFile
(
SystemUtils
.
USER_HOME
+
File
.
separator
+
ENCRYPT_FILE_NAME
);
if
(!
file
.
exists
())
{
log
.
warn
(
ENCRYPT_FILE_NAME
+
" not exist"
);
return
;
}
properties
.
load
(
new
FileInputStream
(
file
));
}
catch
(
FileNotFoundException
e
)
{
e
.
printStackTrace
();
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
}
}
/**
* 解密相关的配置
*/
private
void
initApolloConfig
(
Properties
properties
)
{
Config
appConfig
=
ConfigService
.
getConfig
(
"db.config"
);
Set
<
String
>
propertyNames
=
appConfig
.
getPropertyNames
();
log
.
info
(
propertyNames
.
toString
());
}
}
pom.xml
View file @
09d22dd5
...
...
@@ -77,6 +77,11 @@
</dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
matrix-mybatis-core
</artifactId>
<version>
2.0.1.RELEASE
</version>
</dependency>
<dependency>
<groupId>
com.secoo.mall
</groupId>
<artifactId>
matrix-mybatis-starter
</artifactId>
<version>
2.0.1.RELEASE
</version>
</dependency>
...
...
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