Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-boot-biz
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
项目统一框架
amos-boot-biz
Commits
d9420f49
Commit
d9420f49
authored
Dec 04, 2023
by
Lambertliu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix(sharding):解决分库分表多数据源集成版本冲突问题
parent
35c0c347
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
248 additions
and
96 deletions
+248
-96
pom.xml
...t-module-tzspatrol/amos-boot-module-tzspatrol-biz/pom.xml
+11
-0
RepositoryTs.java
...oin/amos/patrol/business/dao/repository/RepositoryTs.java
+8
-0
PlanTaskServiceImpl.java
...mos/patrol/business/service/impl/PlanTaskServiceImpl.java
+5
-5
RepositoryTImpl.java
...in/amos/patrol/business/service/impl/RepositoryTImpl.java
+24
-1
DataSourceConfiguration.java
...m/yeejoin/amos/patrol/config/DataSourceConfiguration.java
+65
-0
DataSourceHealthConfig.java
...om/yeejoin/amos/patrol/config/DataSourceHealthConfig.java
+28
-0
application-dev.properties
...spatrol-biz/src/main/resources/application-dev.properties
+107
-90
No files found.
amos-boot-system-tzs/amos-boot-module-tzspatrol/amos-boot-module-tzspatrol-biz/pom.xml
View file @
d9420f49
...
@@ -80,6 +80,17 @@
...
@@ -80,6 +80,17 @@
</exclusion>
</exclusion>
</exclusions>
</exclusions>
</dependency>
</dependency>
<dependency>
<groupId>
com.baomidou
</groupId>
<artifactId>
dynamic-datasource-spring-boot-starter
</artifactId>
<version>
4.2.0
</version>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.apache.shardingsphere
</groupId>
<artifactId>
shardingsphere-jdbc-core-spring-boot-starter
</artifactId>
<version>
5.2.1
</version>
</dependency>
<!-- 添加fastjson 依赖包. -->
<!-- 添加fastjson 依赖包. -->
<dependency>
<dependency>
<groupId>
com.alibaba
</groupId>
<groupId>
com.alibaba
</groupId>
...
...
amos-boot-system-tzs/amos-boot-module-tzspatrol/amos-boot-module-tzspatrol-biz/src/main/java/com/yeejoin/amos/patrol/business/dao/repository/RepositoryTs.java
View file @
d9420f49
...
@@ -7,6 +7,14 @@ public interface RepositoryTs {
...
@@ -7,6 +7,14 @@ public interface RepositoryTs {
// 批量存储的方法
// 批量存储的方法
<
S
>
Iterable
<
S
>
batchSave
(
Iterable
<
S
>
var1
);
<
S
>
Iterable
<
S
>
batchSave
(
Iterable
<
S
>
var1
);
/**
* 分库分表数据源
* @param var1
* @param <S>
* @return
*/
<
S
>
Iterable
<
S
>
batchSaveBySharding
(
Iterable
<
S
>
var1
);
// 批量更新的方法
// 批量更新的方法
<
S
>
Iterable
<
S
>
batchUpdate
(
Iterable
<
S
>
var1
);
<
S
>
Iterable
<
S
>
batchUpdate
(
Iterable
<
S
>
var1
);
<
S
>
Iterable
<
S
>
batchSaveNoAsync
(
Iterable
<
S
>
var1
);
<
S
>
Iterable
<
S
>
batchSaveNoAsync
(
Iterable
<
S
>
var1
);
...
...
amos-boot-system-tzs/amos-boot-module-tzspatrol/amos-boot-module-tzspatrol-biz/src/main/java/com/yeejoin/amos/patrol/business/service/impl/PlanTaskServiceImpl.java
View file @
d9420f49
...
@@ -2440,7 +2440,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
...
@@ -2440,7 +2440,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
return
d
;
return
d
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
repositoryTs
.
batchSave
(
collect
);
repositoryTs
.
batchSave
BySharding
(
collect
);
log
.
info
(
"归档p_plan_task表完成========"
);
log
.
info
(
"归档p_plan_task表完成========"
);
}
}
...
@@ -2453,7 +2453,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
...
@@ -2453,7 +2453,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
BeanUtils
.
copyProperties
(
e
,
d
);
BeanUtils
.
copyProperties
(
e
,
d
);
return
d
;
return
d
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
repositoryTs
.
batchSave
(
collect
);
repositoryTs
.
batchSave
BySharding
(
collect
);
log
.
info
(
"归档p_plan_task_detail表完成========"
);
log
.
info
(
"归档p_plan_task_detail表完成========"
);
}
}
...
@@ -2466,7 +2466,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
...
@@ -2466,7 +2466,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
BeanUtils
.
copyProperties
(
e
,
d
);
BeanUtils
.
copyProperties
(
e
,
d
);
return
d
;
return
d
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
repositoryTs
.
batchSave
(
collect
);
repositoryTs
.
batchSave
BySharding
(
collect
);
log
.
info
(
"归档p_check表完成========"
);
log
.
info
(
"归档p_check表完成========"
);
}
}
...
@@ -2479,7 +2479,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
...
@@ -2479,7 +2479,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
BeanUtils
.
copyProperties
(
e
,
d
);
BeanUtils
.
copyProperties
(
e
,
d
);
return
d
;
return
d
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
repositoryTs
.
batchSave
(
collect
);
repositoryTs
.
batchSave
BySharding
(
collect
);
log
.
info
(
"归档p_check_input表完成========"
);
log
.
info
(
"归档p_check_input表完成========"
);
}
}
...
@@ -2493,7 +2493,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
...
@@ -2493,7 +2493,7 @@ public class PlanTaskServiceImpl implements IPlanTaskService {
return
d
;
return
d
;
}).
collect
(
Collectors
.
toList
());
}).
collect
(
Collectors
.
toList
());
repositoryTs
.
batchSave
(
collect
);
repositoryTs
.
batchSave
BySharding
(
collect
);
log
.
info
(
"归档p_check_shot表完成========"
);
log
.
info
(
"归档p_check_shot表完成========"
);
}
}
...
...
amos-boot-system-tzs/amos-boot-module-tzspatrol/amos-boot-module-tzspatrol-biz/src/main/java/com/yeejoin/amos/patrol/business/service/impl/RepositoryTImpl.java
View file @
d9420f49
package
com
.
yeejoin
.
amos
.
patrol
.
business
.
service
.
impl
;
package
com
.
yeejoin
.
amos
.
patrol
.
business
.
service
.
impl
;
import
com.baomidou.dynamic.datasource.annotation.DS
;
import
com.yeejoin.amos.patrol.business.dao.repository.RepositoryTs
;
import
com.yeejoin.amos.patrol.business.dao.repository.RepositoryTs
;
import
com.yeejoin.amos.patrol.config.DataSourceConfiguration
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.persistence.EntityManager
;
import
javax.persistence.EntityManager
;
import
javax.persistence.PersistenceContext
;
import
javax.persistence.PersistenceContext
;
import
java.util.Iterator
;
import
java.util.Iterator
;
...
@@ -43,6 +44,28 @@ public class RepositoryTImpl implements RepositoryTs {
...
@@ -43,6 +44,28 @@ public class RepositoryTImpl implements RepositoryTs {
}
}
@Override
@Override
@Transactional
@Async
(
"asyncServiceExecutor"
)
@DS
(
DataSourceConfiguration
.
SHARDING_DATA_SOURCE_NAME
)
public
<
S
>
Iterable
<
S
>
batchSaveBySharding
(
Iterable
<
S
>
var1
)
{
Iterator
<
S
>
iterator
=
var1
.
iterator
();
int
index
=
0
;
while
(
iterator
.
hasNext
()){
em
.
persist
(
iterator
.
next
());
index
++;
if
(
index
%
BATCH_SIZE
==
0
){
em
.
flush
();
em
.
clear
();
}
}
if
(
index
%
BATCH_SIZE
!=
0
){
em
.
flush
();
em
.
clear
();
}
return
var1
;
}
@Override
public
<
S
>
Iterable
<
S
>
batchUpdate
(
Iterable
<
S
>
var1
)
{
public
<
S
>
Iterable
<
S
>
batchUpdate
(
Iterable
<
S
>
var1
)
{
Iterator
<
S
>
iterator
=
var1
.
iterator
();
Iterator
<
S
>
iterator
=
var1
.
iterator
();
int
index
=
0
;
int
index
=
0
;
...
...
amos-boot-system-tzs/amos-boot-module-tzspatrol/amos-boot-module-tzspatrol-biz/src/main/java/com/yeejoin/amos/patrol/config/DataSourceConfiguration.java
0 → 100644
View file @
d9420f49
package
com
.
yeejoin
.
amos
.
patrol
.
config
;
import
com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceProperties
;
import
com.baomidou.dynamic.datasource.DynamicRoutingDataSource
;
import
com.baomidou.dynamic.datasource.creator.DefaultDataSourceCreator
;
import
com.baomidou.dynamic.datasource.provider.AbstractDataSourceProvider
;
import
com.baomidou.dynamic.datasource.provider.DynamicDataSourceProvider
;
import
org.springframework.beans.factory.annotation.Qualifier
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
javax.sql.DataSource
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author LiuLin
* @date 2023年12月01日 09:57
*/
@Configuration
public
class
DataSourceConfiguration
{
private
final
DynamicDataSourceProperties
properties
;
private
final
DefaultDataSourceCreator
dataSourceCreator
;
private
final
DataSource
shardingSphereDataSource
;
public
static
final
String
SHARDING_DATA_SOURCE_NAME
=
"gits_sharding"
;
public
DataSourceConfiguration
(
DynamicDataSourceProperties
properties
,
DefaultDataSourceCreator
dataSourceCreator
,
@Qualifier
(
"shardingSphereDataSource"
)
DataSource
shardingSphereDataSource
)
{
this
.
properties
=
properties
;
this
.
dataSourceCreator
=
dataSourceCreator
;
this
.
shardingSphereDataSource
=
shardingSphereDataSource
;
}
@Bean
public
DynamicDataSourceProvider
dynamicDataSourceProvider
()
{
return
new
AbstractDataSourceProvider
(
dataSourceCreator
)
{
@Override
public
Map
<
String
,
DataSource
>
loadDataSources
()
{
Map
<
String
,
DataSource
>
dataSourceMap
=
new
HashMap
<>();
dataSourceMap
.
put
(
SHARDING_DATA_SOURCE_NAME
,
shardingSphereDataSource
);
return
dataSourceMap
;
}
};
}
/**
* 将dynamic-datasource设置为首选
* 当Spring存在多个数据源时,自动注入首选对象
* 设置为主要数据源之后,就可以支持shardingSphere原生的配置方式了
*/
@Primary
@Bean
public
DataSource
dataSource
(
List
<
DynamicDataSourceProvider
>
providers
)
{
DynamicRoutingDataSource
dataSource
=
new
DynamicRoutingDataSource
(
providers
);
dataSource
.
setPrimary
(
properties
.
getPrimary
());
dataSource
.
setStrict
(
properties
.
getStrict
());
dataSource
.
setStrategy
(
properties
.
getStrategy
());
dataSource
.
setP6spy
(
properties
.
getP6spy
());
dataSource
.
setSeata
(
properties
.
getSeata
());
return
dataSource
;
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-tzspatrol/amos-boot-module-tzspatrol-biz/src/main/java/com/yeejoin/amos/patrol/config/DataSourceHealthConfig.java
0 → 100644
View file @
d9420f49
package
com
.
yeejoin
.
amos
.
patrol
.
config
;
import
org.springframework.beans.factory.ObjectProvider
;
import
org.springframework.boot.actuate.autoconfigure.jdbc.DataSourceHealthContributorAutoConfiguration
;
import
org.springframework.boot.actuate.health.AbstractHealthIndicator
;
import
org.springframework.boot.actuate.jdbc.DataSourceHealthIndicator
;
import
org.springframework.boot.jdbc.metadata.DataSourcePoolMetadataProvider
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.util.StringUtils
;
import
javax.sql.DataSource
;
import
java.util.Map
;
@Configuration
public
class
DataSourceHealthConfig
extends
DataSourceHealthContributorAutoConfiguration
{
public
DataSourceHealthConfig
(
Map
<
String
,
DataSource
>
dataSources
,
ObjectProvider
<
DataSourcePoolMetadataProvider
>
metadataProviders
)
{
super
(
dataSources
,
metadataProviders
);
}
@Override
protected
AbstractHealthIndicator
createIndicator
(
DataSource
source
)
{
DataSourceHealthIndicator
indicator
=
(
DataSourceHealthIndicator
)
super
.
createIndicator
(
source
);
if
(!
StringUtils
.
hasText
(
indicator
.
getQuery
()))
{
indicator
.
setQuery
(
"select 1"
);
}
return
indicator
;
}
}
\ No newline at end of file
amos-boot-system-tzs/amos-boot-module-tzspatrol/amos-boot-module-tzspatrol-biz/src/main/resources/application-dev.properties
View file @
d9420f49
eureka.client.serviceUrl.defaultZone
=
http://${spring.security.user.name}:${spring.security.user.password}@172.16.10.2
43
:10001/eureka/
eureka.client.serviceUrl.defaultZone
=
http://${spring.security.user.name}:${spring.security.user.password}@172.16.10.2
10
:10001/eureka/
eureka.client.registry-fetch-interval-seconds
=
5
eureka.client.registry-fetch-interval-seconds
=
5
spring.security.user.name
=
admin
spring.security.user.name
=
admin
spring.security.user.password
=
a1234560
spring.security.user.password
=
a1234560
...
@@ -10,6 +10,7 @@ eureka.instance.lease-expiration-duration-in-seconds=10
...
@@ -10,6 +10,7 @@ eureka.instance.lease-expiration-duration-in-seconds=10
eureka.instance.lease-renewal-interval-in-seconds
=
5
eureka.instance.lease-renewal-interval-in-seconds
=
5
eureka.instance.metadata-map.management.context-path
=
${server.servlet.context-path}/actuator
eureka.instance.metadata-map.management.context-path
=
${server.servlet.context-path}/actuator
eureka.instance.status-page-url-path
=
/actuator/info
eureka.instance.status-page-url-path
=
/actuator/info
eureka.instance.ip-address
=
172.16.3.56
ribbon.eureka.enabled
=
true
ribbon.eureka.enabled
=
true
ribbon.ConnectTimeout
=
5000
ribbon.ConnectTimeout
=
5000
...
@@ -20,14 +21,14 @@ ribbon.MaxAutoRetries = 1
...
@@ -20,14 +21,14 @@ ribbon.MaxAutoRetries = 1
xiy_amos_satety_business
xiy_amos_satety_business
spring.reactor.debug-agent.enabled
=
true
spring.reactor.debug-agent.enabled
=
true
#DB properties:
#DB properties:
spring.datasource.url
=
jdbc:vastbase://172.16.10.243
:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
#spring.datasource.url=jdbc:vastbase://172.16.10.210
:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
spring.datasource.username
=
admin
#
spring.datasource.username=admin
spring.datasource.password
=
Yeejoin@2023
#
spring.datasource.password=Yeejoin@2023
spring.datasource.driver-class-name
=
cn.com.vastbase.Driver
#
spring.datasource.driver-class-name = cn.com.vastbase.Driver
spring.datasource.hikari.maxLifetime
=
1765000
#
spring.datasource.hikari.maxLifetime = 1765000
spring.datasource.hikari.maximum-pool-size
=
10
#
spring.datasource.hikari.maximum-pool-size = 10
spring.datasource.testWhileIdle
=
true
#
spring.datasource.testWhileIdle = true
spring.datasource.validationQuery
=
SELECT 1
#
spring.datasource.validationQuery = SELECT 1
security.password
=
a1234560
security.password
=
a1234560
...
@@ -36,10 +37,10 @@ security.productWeb=STUDIO_APP_WEB
...
@@ -36,10 +37,10 @@ security.productWeb=STUDIO_APP_WEB
security.productApp
=
STUDIO_APP_MOBILE
security.productApp
=
STUDIO_APP_MOBILE
security.appKey
=
studio_normalapp_3056965
security.appKey
=
studio_normalapp_3056965
#redis
配置
#redis
??
spring.redis.database
=
1
spring.redis.database
=
1
spring.redis.host
=
172.16.10.2
43
spring.redis.host
=
172.16.10.2
10
spring.redis.port
=
6379
spring.redis.port
=
1
6379
spring.redis.password
=
yeejoin@2020
spring.redis.password
=
yeejoin@2020
spring.redis.jedis.pool.max-active
=
200
spring.redis.jedis.pool.max-active
=
200
spring.redis.jedis.pool.max-wait
=
-1
spring.redis.jedis.pool.max-wait
=
-1
...
@@ -47,12 +48,12 @@ spring.redis.jedis.pool.max-idle=10
...
@@ -47,12 +48,12 @@ spring.redis.jedis.pool.max-idle=10
spring.redis.jedis.pool.min-idle
=
0
spring.redis.jedis.pool.min-idle
=
0
spring.redis.timeout
=
1000
spring.redis.timeout
=
1000
#
巡检计划定时任务
#
????????
jobs.cron
=
0 0 22 * * ?
jobs.cron
=
0 0 22 * * ?
jobs.cron.static
=
0 0 1 * * ?
jobs.cron.static
=
0 0 1 * * ?
jobs.cron.bak
=
-
jobs.cron.bak
=
-
#
邮件配置
#
????
#params.mailPush = false
#params.mailPush = false
#spring.mail.host:
#spring.mail.host:
#spring.mail.username:
#spring.mail.username:
...
@@ -65,23 +66,23 @@ jobs.cron.bak= -
...
@@ -65,23 +66,23 @@ jobs.cron.bak= -
#spring.mail.properties.mail.smtp.starttls.required: true
#spring.mail.properties.mail.smtp.starttls.required: true
#spring.mail.properties.mail.smtp.ssl.enable:true
#spring.mail.properties.mail.smtp.ssl.enable:true
#jpush
推送配置项
#jpush
?????
params.isPush
=
false
params.isPush
=
false
#
巡检消息同步开关
#
????????
emq.patrol.sync.switch
=
true
emq.patrol.sync.switch
=
true
params.work.flow.normalProcessDefinitionKey
=
normalHazardManagement
params.work.flow.normalProcessDefinitionKey
=
normalHazardManagement
params.work.flow.processDefinitionKey
=
hazardManagement
params.work.flow.processDefinitionKey
=
hazardManagement
params.work.flow.address
=
http://172.16.10.2
43
:30040
params.work.flow.address
=
http://172.16.10.2
10
:30040
params.spc.address
=
http://172.16.3.89:9001
params.spc.address
=
http://172.16.3.89:9001
#websocket
#websocket
params.remoteWebsocketUrl
=
http://172.16.10.2
43
:8080/
params.remoteWebsocketUrl
=
http://172.16.10.2
10
:8080/
#websocket send message url
#websocket send message url
params.remoteWebSocketSendMsgUrl
=
http://172.16.10.2
43
:10601/
params.remoteWebSocketSendMsgUrl
=
http://172.16.10.2
10
:10601/
#
上传文件配置
#
??????
spring.http.multipart.maxFileSize
=
80480000
spring.http.multipart.maxFileSize
=
80480000
spring.http.multipart.MaxRequestSize
=
80480000
spring.http.multipart.MaxRequestSize
=
80480000
windows.img.path
=
D:
\\
windows.img.path
=
D:
\\
...
@@ -90,17 +91,17 @@ linux.img.path = /
...
@@ -90,17 +91,17 @@ linux.img.path = /
## emqx
## emqx
emqx.clean-session
=
false
emqx.clean-session
=
false
emqx.client-id
=
${spring.application.name}-${random.int[1024,65536]}
emqx.client-id
=
${spring.application.name}-${random.int[1024,65536]}
emqx.broker
=
tcp://172.16.10.2
43
:1883
emqx.broker
=
tcp://172.16.10.2
10
:1883
emqx.client-user-name
=
super
emqx.client-user-name
=
super
emqx.client-password
=
123456
emqx.client-password
=
123456
emqx.keepAliveInterval
=
1000
emqx.keepAliveInterval
=
1000
file.url
=
http://172.16.10.2
43
:9000/
file.url
=
http://172.16.10.2
10
:9000/
##
代码中有部分逻辑冲突需要处理 为区分机场和电力逻辑 增加开关 若为true 则为机场逻辑 为false 则为电力逻辑
##
?????????????? ?????????? ???? ??true ?????? ?false ??????
logic
=
false
logic
=
false
#
是否为中心级系统 true-中心级系统 false-站端系统
#
???????? true-????? false-????
is.zxj
=
true
is.zxj
=
true
## \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u052E\uFFFD\uFFFD\uFFFD\u03F2\uFFFDID
## \uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u052E\uFFFD\uFFFD\uFFFD\u03F2\uFFFDID
...
@@ -110,7 +111,7 @@ fire-rescue=1432549862557130753
...
@@ -110,7 +111,7 @@ fire-rescue=1432549862557130753
action.auto_create_index
:
true
action.auto_create_index
:
true
elasticsearch.username
=
elastic
elasticsearch.username
=
elastic
elasticsearch.password
=
a123456
elasticsearch.password
=
a123456
spring.elasticsearch.rest.uris
=
http://172.16.10.2
43
:9200
spring.elasticsearch.rest.uris
=
http://172.16.10.2
10
:9200
## unit(h)
## unit(h)
alertcall.es.synchrony.time
=
48
alertcall.es.synchrony.time
=
48
...
@@ -124,70 +125,86 @@ spring.jpa.properties.hibernate.jdbc.batch_versioned_data=true
...
@@ -124,70 +125,86 @@ spring.jpa.properties.hibernate.jdbc.batch_versioned_data=true
spring.jpa.properties.hibernate.order_inserts
=
true
spring.jpa.properties.hibernate.order_inserts
=
true
spring.jpa.properties.hibernate.order_updates
=
true
spring.jpa.properties.hibernate.order_updates
=
true
##ds tzs
#spring.datasource.dynamic.datasource.tzs.url=jdbc:vastbase://36.46.137.116:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
#spring.datasource.dynamic.datasource.tzs.username=admin
#spring.datasource.dynamic.datasource.tzs.password=Yeejoin@2023
#spring.datasource.dynamic.datasource.tzs.driver-class-name=cn.com.vastbase.Driver
#spring.datasource.dynamic.primary=tzs
spring.datasource.dynamic.primary
=
tzs
#ds tzs
spring.datasource.dynamic.datasource.tzs.url
=
jdbc:vastbase://36.46.137.116:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
spring.datasource.dynamic.datasource.tzs.username
=
admin
spring.datasource.dynamic.datasource.tzs.password
=
Yeejoin@2023
spring.datasource.dynamic.datasource.tzs.driver-class-name
=
cn.com.vastbase.Driver
#spring.shardingsphere.mode.type=Standalone
#spring.shardingsphere.mode.type=Standalone
#spring.shardingsphere.mode.repository.type=JDBC
#spring.shardingsphere.mode.repository.type=JDBC
## ds0
#????SQL??????: false
#spring.shardingsphere.datasource.ds0.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.props.sql-show
=
true
#spring.shardingsphere.datasource.ds0.driver-class-name=cn.com.vastbase.Driver
spring.shardingsphere.datasource.names
=
ds0
#spring.shardingsphere.datasource.ds0.jdbc-url=jdbc:vastbase://172.16.10.243:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
spring.shardingsphere.props.max-connections-size-per-query
=
5
#spring.shardingsphere.datasource.ds0.username=admin
#spring.shardingsphere.datasource.ds0.password=Yeejoin@2023
shardingsphere.create.tables.num
=
5
#spring.shardingsphere.datasource.ds0.idle-timeout=600000
# ds0
#spring.shardingsphere.datasource.ds0.connection-timeout=30000
spring.shardingsphere.datasource.ds0.type
=
com.zaxxer.hikari.HikariDataSource
#spring.shardingsphere.datasource.ds0.validation-timeout=3000
spring.shardingsphere.datasource.ds0.driver-class-name
=
cn.com.vastbase.Driver
#spring.shardingsphere.datasource.ds0.max-lifetime=58880
spring.shardingsphere.datasource.ds0.jdbc-url
=
jdbc:vastbase://36.46.137.116:5432/tzs_amos_tzs_biz_init?currentSchema=amos_tzs_biz&allowMultiQueries=true
#spring.shardingsphere.datasource.ds0.minimum-idle=10
spring.shardingsphere.datasource.ds0.username
=
admin
#spring.shardingsphere.datasource.ds0.maximum-pool-size=50
spring.shardingsphere.datasource.ds0.password
=
Yeejoin@2023
#
spring.shardingsphere.datasource.ds0.idle-timeout
=
600000
#
spring.shardingsphere.datasource.ds0.connection-timeout
=
30000
##数据源名称,多数据源以逗号分隔
spring.shardingsphere.datasource.ds0.validation-timeout
=
3000
#spring.shardingsphere.datasource.names=ds0
spring.shardingsphere.datasource.ds0.max-lifetime
=
58880
## 这里由于分库分表字段不相同配置,不然会导致使用user_id 查询找不到相应的表,如果我们分库分表都使用 user_id 则不需要这个配置
spring.shardingsphere.datasource.ds0.minimum-idle
=
10
#spring.shardingsphere.rules.sharding.tables.p_plan_task_history.actual-data-nodes = ds0.p_plan_task_history_$->{1..2}
spring.shardingsphere.datasource.ds0.maximum-pool-size
=
50
#spring.shardingsphere.rules.sharding.tables.p_plan_task_detail_history.actual-data-nodes = ds0.p_plan_task_detail_history_$->{1..2}
#spring.shardingsphere.rules.sharding.tables.p_check_history.actual-data-nodes = ds0.p_check_history_$->{1..2}
#???????????????
#spring.shardingsphere.rules.sharding.tables.p_check_input_history.actual-data-nodes = ds0.p_check_input_history_$->{1..2}
#spring.shardingsphere.rules.sharding.tables.p_check_shot_history.actual-data-nodes = ds0.p_check_shot_history_$->{1..2}
# ???????????????????????user_id ????????????????????? user_id ????????
#
spring.shardingsphere.rules.sharding.tables.p_plan_task_history.actual-data-nodes
=
ds0.p_plan_task_history_$->{1..2}
spring.shardingsphere.rules.sharding.tables.p_plan_task_detail_history.actual-data-nodes
=
ds0.p_plan_task_detail_history_$->{1..2}
spring.shardingsphere.rules.sharding.tables.p_check_history.actual-data-nodes
=
ds0.p_check_history_$->{1..2}
spring.shardingsphere.rules.sharding.tables.p_check_input_history.actual-data-nodes
=
ds0.p_check_input_history_$->{1..2}
spring.shardingsphere.rules.sharding.tables.p_check_shot_history.actual-data-nodes
=
ds0.p_check_shot_history_$->{1..2}
#spring.shardingsphere.sharding.default-data.source-name=ds0
#spring.shardingsphere.sharding.default-data.source-name=ds0
#spring.main.allow-bean-definition-overriding=true
spring.main.allow-bean-definition-overriding
=
true
#
## -----分表开始
# -----????
## 分片键位sequence_nbr,每个库分为两表,所以取模2
# ????sequence_nbr,????????????2
#spring.shardingsphere.rules.sharding.tables.p_plan_task_history.table-strategy.standard.sharding-column=id
spring.shardingsphere.rules.sharding.tables.p_plan_task_history.table-strategy.standard.sharding-column
=
id
#spring.shardingsphere.rules.sharding.tables.p_plan_task_history.table-strategy.standard.sharding-algorithm-name=task-inline
spring.shardingsphere.rules.sharding.tables.p_plan_task_history.table-strategy.standard.sharding-algorithm-name
=
task-inline
#
#spring.shardingsphere.rules.sharding.tables.p_plan_task_detail_history.table-strategy.standard.sharding-column=id
spring.shardingsphere.rules.sharding.tables.p_plan_task_detail_history.table-strategy.standard.sharding-column
=
id
#spring.shardingsphere.rules.sharding.tables.p_plan_task_detail_history.table-strategy.standard.sharding-algorithm-name=task-detail-inline
spring.shardingsphere.rules.sharding.tables.p_plan_task_detail_history.table-strategy.standard.sharding-algorithm-name
=
task-detail-inline
#
#spring.shardingsphere.rules.sharding.tables.p_check_history.table-strategy.standard.sharding-column=id
spring.shardingsphere.rules.sharding.tables.p_check_history.table-strategy.standard.sharding-column
=
id
#spring.shardingsphere.rules.sharding.tables.p_check_history.table-strategy.standard.sharding-algorithm-name=check-inline
spring.shardingsphere.rules.sharding.tables.p_check_history.table-strategy.standard.sharding-algorithm-name
=
check-inline
#
#spring.shardingsphere.rules.sharding.tables.p_check_input_history.table-strategy.standard.sharding-column=id
spring.shardingsphere.rules.sharding.tables.p_check_input_history.table-strategy.standard.sharding-column
=
id
#spring.shardingsphere.rules.sharding.tables.p_check_input_history.table-strategy.standard.sharding-algorithm-name=check-input-inline
spring.shardingsphere.rules.sharding.tables.p_check_input_history.table-strategy.standard.sharding-algorithm-name
=
check-input-inline
#
#spring.shardingsphere.rules.sharding.tables.p_check_shot_history.table-strategy.standard.sharding-column=id
spring.shardingsphere.rules.sharding.tables.p_check_shot_history.table-strategy.standard.sharding-column
=
id
#spring.shardingsphere.rules.sharding.tables.p_check_shot_history.table-strategy.standard.sharding-algorithm-name=check-shot-inline
spring.shardingsphere.rules.sharding.tables.p_check_shot_history.table-strategy.standard.sharding-algorithm-name
=
check-shot-inline
#
##行表达式分片算法
#????????
#spring.shardingsphere.rules.sharding.sharding-algorithms.task-inline.type=INLINE
spring.shardingsphere.rules.sharding.sharding-algorithms.task-inline.type
=
INLINE
#spring.shardingsphere.rules.sharding.sharding-algorithms.task-inline.props.algorithm-expression=p_plan_task_history_$->{id % 2 + 1}
spring.shardingsphere.rules.sharding.sharding-algorithms.task-inline.props.algorithm-expression
=
p_plan_task_history_$->{id % 2 + 1}
#
#spring.shardingsphere.rules.sharding.sharding-algorithms.task-detail-inline.type=INLINE
spring.shardingsphere.rules.sharding.sharding-algorithms.task-detail-inline.type
=
INLINE
#spring.shardingsphere.rules.sharding.sharding-algorithms.task-detail-inline.props.algorithm-expression=p_plan_task_detail_history_$->{id % 2 + 1}
spring.shardingsphere.rules.sharding.sharding-algorithms.task-detail-inline.props.algorithm-expression
=
p_plan_task_detail_history_$->{id % 2 + 1}
#
#spring.shardingsphere.rules.sharding.sharding-algorithms.check-inline.type=INLINE
spring.shardingsphere.rules.sharding.sharding-algorithms.check-inline.type
=
INLINE
#spring.shardingsphere.rules.sharding.sharding-algorithms.check-inline.props.algorithm-expression=p_check_history_$->{id % 2 + 1}
spring.shardingsphere.rules.sharding.sharding-algorithms.check-inline.props.algorithm-expression
=
p_check_history_$->{id % 2 + 1}
#
#spring.shardingsphere.rules.sharding.sharding-algorithms.check-input-inline.type=INLINE
spring.shardingsphere.rules.sharding.sharding-algorithms.check-input-inline.type
=
INLINE
#spring.shardingsphere.rules.sharding.sharding-algorithms.check-input-inline.props.algorithm-expression=p_check_input_history_$->{id % 2 + 1}
spring.shardingsphere.rules.sharding.sharding-algorithms.check-input-inline.props.algorithm-expression
=
p_check_input_history_$->{id % 2 + 1}
#
#spring.shardingsphere.rules.sharding.sharding-algorithms.check-shot-inline.type=INLINE
spring.shardingsphere.rules.sharding.sharding-algorithms.check-shot-inline.type
=
INLINE
#spring.shardingsphere.rules.sharding.sharding-algorithms.check-shot-inline.props.algorithm-expression=p_check_shot_history_$->{id % 2 + 1}
spring.shardingsphere.rules.sharding.sharding-algorithms.check-shot-inline.props.algorithm-expression
=
p_check_shot_history_$->{id % 2 + 1}
## -----分表结束
# -----????
#
##是否开启SQL显示,默认值: false
logging.level.com.baomidou
=
debug
#spring.shardingsphere.props.sql-show= false
\ No newline at end of file
#spring.shardingsphere.props.max-connections-size-per-query=5
shardingsphere.create.tables.num
=
10
\ No newline at end of file
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