Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica-cloud-analysis
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
com.pica.cloud.online.exam
pica-cloud-analysis
提交
fe868d39
提交
fe868d39
编写于
8月 23, 2018
作者:
minghao.wu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: 加入跨域的配置
上级
efe1edd0
变更
1
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
115 行增加
和
0 行删除
+115
-0
DataSourceConfig.java
.../exam/analysis/server/configuration/DataSourceConfig.java
+115
-0
未找到文件。
server/src/main/java/com/pica/cloud/online/exam/analysis/server/configuration/DataSourceConfig.java
0 → 100644
浏览文件 @
fe868d39
package
com
.
pica
.
cloud
.
online
.
exam
.
analysis
.
server
.
configuration
;
import
com.zaxxer.hikari.HikariConfig
;
import
com.zaxxer.hikari.HikariDataSource
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.web.cors.CorsConfiguration
;
import
org.springframework.web.cors.UrlBasedCorsConfigurationSource
;
import
org.springframework.web.filter.CorsFilter
;
import
javax.sql.DataSource
;
/**
* @author wuminghao
* @date 2018/8/23 8:46
*/
@Configuration
public
class
DataSourceConfig
{
/**
* 如果取不到 就用默认值
*/
@Value
(
"${spring.datasource.url}"
)
private
String
dataSourceUrl
;
@Value
(
"${spring.datasource.username}"
)
private
String
user
;
@Value
(
"${spring.datasource.password}"
)
private
String
password
;
@Value
(
"${spring.datasource.hikari.pool-name}"
)
private
String
poolName
;
@Value
(
"${spring.datasource.hikari.connection-test-query}"
)
private
String
testQuery
;
@Value
(
"${spring.hikari.cachePrepStmts}"
)
private
String
cachePrepStmts
;
@Value
(
"${spring.hikari.prepStmtCacheSize}"
)
private
String
prepStmtCacheSize
;
@Value
(
"${spring.hikari.prepStmtCacheSqlLimit}"
)
private
String
prepStmtCacheSqlLimit
;
@Value
(
"${spring.hikari.useServerPrepStmts}"
)
private
String
useServerPrepStmts
;
@Value
(
"${spring.hikari.useLocalSessionState}"
)
private
String
useLocalSessionState
;
@Value
(
"${spring.hikari.useLocalTransactionState}"
)
private
String
useLocalTransactionState
;
@Value
(
"${spring.hikari.rewriteBatchedStatements}"
)
private
String
rewriteBatchedStatements
;
@Value
(
"${spring.hikari.cacheResultSetMetadata}"
)
private
String
cacheResultSetMetadata
;
@Value
(
"${spring.hikari.cacheServerConfiguration}"
)
private
String
cacheServerConfiguration
;
@Value
(
"${spring.hikari.elideSetAutoCommits}"
)
private
String
elideSetAutoCommits
;
@Value
(
"${spring.hikari.maintainTimeStats}"
)
private
String
maintainTimeStats
;
private
static
final
String
X_TOTAL_COUNT
=
"20"
;
@Bean
public
DataSource
primaryDataSource
()
{
HikariConfig
config
=
new
HikariConfig
();
config
.
setJdbcUrl
(
dataSourceUrl
);
//数据源
config
.
setUsername
(
user
);
//用户名
config
.
setPassword
(
password
);
//密码
config
.
setConnectionTestQuery
(
testQuery
);
config
.
setPoolName
(
poolName
);
config
.
addDataSourceProperty
(
"cachePrepStmts"
,
cachePrepStmts
);
//是否自定义配置,为true时下面两个参数才生效
config
.
addDataSourceProperty
(
"prepStmtCacheSize"
,
prepStmtCacheSize
);
//连接池大小默认25,官方推荐250-500
config
.
addDataSourceProperty
(
"prepStmtCacheSqlLimit"
,
prepStmtCacheSqlLimit
);
//单条语句最大长度默认256,官方推荐2048
config
.
addDataSourceProperty
(
"useServerPrepStmts"
,
useServerPrepStmts
);
//新版本MySQL支持服务器端准备,开启能够得到显著性能提升
config
.
addDataSourceProperty
(
"useLocalSessionState"
,
useLocalSessionState
);
config
.
addDataSourceProperty
(
"useLocalTransactionState"
,
useLocalTransactionState
);
config
.
addDataSourceProperty
(
"rewriteBatchedStatements"
,
rewriteBatchedStatements
);
config
.
addDataSourceProperty
(
"cacheResultSetMetadata"
,
cacheResultSetMetadata
);
config
.
addDataSourceProperty
(
"cacheServerConfiguration"
,
cacheServerConfiguration
);
config
.
addDataSourceProperty
(
"elideSetAutoCommits"
,
elideSetAutoCommits
);
config
.
addDataSourceProperty
(
"maintainTimeStats"
,
maintainTimeStats
);
HikariDataSource
ds
=
new
HikariDataSource
(
config
);
return
ds
;
}
private
CorsConfiguration
buildConfig
()
{
CorsConfiguration
corsConfiguration
=
new
CorsConfiguration
();
corsConfiguration
.
addAllowedOrigin
(
"*"
);
corsConfiguration
.
addAllowedHeader
(
"*"
);
corsConfiguration
.
addAllowedMethod
(
"*"
);
corsConfiguration
.
addExposedHeader
(
X_TOTAL_COUNT
);
return
corsConfiguration
;
}
/**
* 跨域过滤器
*
* @return
*/
@Bean
public
CorsFilter
corsFilter
()
{
UrlBasedCorsConfigurationSource
source
=
new
UrlBasedCorsConfigurationSource
();
source
.
registerCorsConfiguration
(
"/**"
,
buildConfig
());
// 4
return
new
CorsFilter
(
source
);
}
}
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录