diff --git a/powerjob-server/pom.xml b/powerjob-server/pom.xml
index 86e187f4..f290a457 100644
--- a/powerjob-server/pom.xml
+++ b/powerjob-server/pom.xml
@@ -24,6 +24,7 @@
3.0.1
3.6
1.2.68
+ 1.1.23
true
@@ -78,6 +79,18 @@
spring-boot-starter-data-jpa
${springboot.version}
+
+
+ com.alibaba
+ druid-spring-boot-starter
+ ${druid.starter.version}
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+
+
+
org.springframework.boot
spring-boot-starter-data-mongodb
diff --git a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/MultiDatasourceConfig.java b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/MultiDatasourceConfig.java
index c2beeb49..dcab5c34 100644
--- a/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/MultiDatasourceConfig.java
+++ b/powerjob-server/src/main/java/com/github/kfcfans/powerjob/server/persistence/config/MultiDatasourceConfig.java
@@ -1,9 +1,7 @@
package com.github.kfcfans.powerjob.server.persistence.config;
-import com.zaxxer.hikari.HikariConfig;
-import com.zaxxer.hikari.HikariDataSource;
+import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@@ -19,26 +17,17 @@ import javax.sql.DataSource;
@Configuration
public class MultiDatasourceConfig {
- private static final String H2_JDBC_URL = "jdbc:h2:file:~/powerjob-server/h2/powerjob_server_db";
@Primary
@Bean("omsCoreDatasource")
- @ConfigurationProperties(prefix = "spring.datasource.core")
+ @ConfigurationProperties(prefix = "spring.datasource.druid.core")
public DataSource initOmsCoreDatasource() {
- return DataSourceBuilder.create().build();
+ return DruidDataSourceBuilder.create().build();
}
@Bean("omsLocalDatasource")
+ @ConfigurationProperties(prefix = "spring.datasource.druid.local")
public DataSource initOmsLocalDatasource() {
-
- HikariConfig config = new HikariConfig();
- config.setDriverClassName("org.h2.Driver");
- config.setJdbcUrl(H2_JDBC_URL);
- config.setAutoCommit(true);
- // 池中最小空闲连接数量
- config.setMinimumIdle(4);
- // 池中最大连接数量
- config.setMaximumPoolSize(32);
- return new HikariDataSource(config);
+ return DruidDataSourceBuilder.create().build();
}
}
diff --git a/powerjob-server/src/main/resources/application-daily.properties b/powerjob-server/src/main/resources/application-daily.properties
index 5d3a6146..8da45bb0 100644
--- a/powerjob-server/src/main/resources/application-daily.properties
+++ b/powerjob-server/src/main/resources/application-daily.properties
@@ -1,13 +1,15 @@
oms.env=DAILY
logging.config=classpath:logback-dev.xml
-####### 数据库配置 #######
-spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8
-spring.datasource.core.username=root
-spring.datasource.core.password=No1Bug2Please3!
-spring.datasource.core.hikari.maximum-pool-size=20
-spring.datasource.core.hikari.minimum-idle=5
+####### 外部数据库配置(需要用户更改为自己的数据库配置) #######
+spring.datasource.druid.core.driver-class-name=com.mysql.cj.jdbc.Driver
+spring.datasource.druid.core.url=jdbc:mysql://remotehost:3306/powerjob-daily?useUnicode=true&characterEncoding=UTF-8
+spring.datasource.druid.core.username=root
+spring.datasource.druid.core.password=No1Bug2Please3!
+spring.datasource.druid.core.initial-size=5
+spring.datasource.druid.core.max-active=20
+spring.datasource.druid.core.test-while-idle=false
+spring.datasource.druid.core.name=remoteDatasource
####### mongoDB配置,非核心依赖,可移除 #######
spring.data.mongodb.uri=mongodb://remotehost:27017/powerjob-daily
diff --git a/powerjob-server/src/main/resources/application-pre.properties b/powerjob-server/src/main/resources/application-pre.properties
index f2d33b88..437980ff 100644
--- a/powerjob-server/src/main/resources/application-pre.properties
+++ b/powerjob-server/src/main/resources/application-pre.properties
@@ -2,12 +2,14 @@ oms.env=PRE
logging.config=classpath:logback-product.xml
####### 数据库配置 #######
-spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.core.jdbc-url=jdbc:mysql://remotehost:3306/powerjob-pre?useUnicode=true&characterEncoding=UTF-8
-spring.datasource.core.username=root
-spring.datasource.core.password=No1Bug2Please3!
-spring.datasource.core.hikari.maximum-pool-size=20
-spring.datasource.core.hikari.minimum-idle=5
+spring.datasource.druid.core.driver-class-name=com.mysql.cj.jdbc.Driver
+spring.datasource.druid.core.url=jdbc:mysql://remotehost:3306/powerjob-pre?useUnicode=true&characterEncoding=UTF-8
+spring.datasource.druid.core.username=root
+spring.datasource.druid.core.password=No1Bug2Please3!
+spring.datasource.druid.core.initial-size=5
+spring.datasource.druid.core.max-active=20
+spring.datasource.druid.core.test-while-idle=false
+spring.datasource.druid.core.name=remoteDatasource
####### mongoDB配置,非核心依赖,可移除 #######
spring.data.mongodb.uri=mongodb://remotehost:27017/powerjob-pre
diff --git a/powerjob-server/src/main/resources/application-product.properties b/powerjob-server/src/main/resources/application-product.properties
index 0a4e2556..45e47949 100644
--- a/powerjob-server/src/main/resources/application-product.properties
+++ b/powerjob-server/src/main/resources/application-product.properties
@@ -2,12 +2,14 @@ oms.env=PRODUCT
logging.config=classpath:logback-product.xml
####### 数据库配置 #######
-spring.datasource.core.driver-class-name=com.mysql.cj.jdbc.Driver
-spring.datasource.core.jdbc-url=jdbc:mysql://localhost:3306/powerjob-product?useUnicode=true&characterEncoding=UTF-8
-spring.datasource.core.username=root
-spring.datasource.core.password=No1Bug2Please3!
-spring.datasource.core.hikari.maximum-pool-size=20
-spring.datasource.core.hikari.minimum-idle=5
+spring.datasource.druid.core.driver-class-name=com.mysql.cj.jdbc.Driver
+spring.datasource.druid.core.url=jdbc:mysql://localhost:3306/powerjob-product?useUnicode=true&characterEncoding=UTF-8
+spring.datasource.druid.core.username=root
+spring.datasource.druid.core.password=No1Bug2Please3!
+spring.datasource.druid.core.initial-size=5
+spring.datasource.druid.core.max-active=20
+spring.datasource.druid.core.test-while-idle=false
+spring.datasource.druid.core.name=remoteDatasource
####### mongoDB配置,非核心依赖,可移除 #######
spring.data.mongodb.uri=mongodb://localhost:27017/powerjob-product
diff --git a/powerjob-server/src/main/resources/application.properties b/powerjob-server/src/main/resources/application.properties
index 1078fa1d..5586f466 100644
--- a/powerjob-server/src/main/resources/application.properties
+++ b/powerjob-server/src/main/resources/application.properties
@@ -11,6 +11,24 @@ spring.servlet.multipart.file-size-threshold=0
spring.servlet.multipart.max-file-size=209715200
spring.servlet.multipart.max-request-size=209715200
+# 内嵌 H2 数据库配置信息,一般情况无需更改
+spring.datasource.druid.local.driver-class-name=org.h2.Driver
+spring.datasource.druid.local.url=jdbc:h2:file:~/powerjob-server/h2/powerjob_server_db
+spring.datasource.druid.local.initial-size=4
+spring.datasource.druid.local.max-active=32
+spring.datasource.druid.local.test-while-idle=false
+spring.datasource.druid.local.name=localDatasource
+
+# druid 监控配置
+spring.datasource.druid.filters=stat
+spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
+spring.datasource.druid.filter.stat.enabled=true
+spring.datasource.druid.filter.stat.log-slow-sql=true
+spring.datasource.druid.filter.stat.slow-sql-millis=2000
+spring.datasource.druid.stat-view-servlet.enabled=true
+spring.datasource.druid.stat-view-servlet.login-username=powerjob
+spring.datasource.druid.stat-view-servlet.login-password=powerjob
+
###### PowerJob 自身配置(该配置只允许存在于 application.properties 文件中) ######
# akka ActorSystem 服务端口
oms.akka.port=10086