mirror of
https://gitee.com/yudaocode/SpringBoot-Labs.git
synced 2026-09-03 05:53:54 +08:00
spring quartz 数据库,未完成
This commit is contained in:
@@ -13,6 +13,17 @@
|
||||
<artifactId>lab-28-task-quartz-jdbc</artifactId>
|
||||
|
||||
<dependencies>
|
||||
<!-- 实现对数据库连接池的自动化配置 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-jdbc</artifactId>
|
||||
</dependency>
|
||||
<dependency> <!-- 本示例,我们使用 MySQL -->
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
<version>5.1.48</version>
|
||||
</dependency>
|
||||
|
||||
<!-- 实现对 Spring MVC 的自动化配置 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
package cn.iocoder.springboot.lab28.task.config;
|
||||
|
||||
import com.zaxxer.hikari.HikariDataSource;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceProperties;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Primary;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import javax.sql.DataSource;
|
||||
|
||||
@Configuration
|
||||
public class DataSourceConfiguration {
|
||||
|
||||
/**
|
||||
* 创建 user 数据源的配置对象
|
||||
*/
|
||||
@Primary
|
||||
@Bean(name = "userDataSourceProperties")
|
||||
@ConfigurationProperties(prefix = "spring.datasource.user") // 读取 spring.datasource.user 配置到 DataSourceProperties 对象
|
||||
public DataSourceProperties userDataSourceProperties() {
|
||||
return new DataSourceProperties();
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 user 数据源
|
||||
*/
|
||||
@Bean(name = "userDataSource")
|
||||
@ConfigurationProperties(prefix = "spring.datasource.user.hikari") // 读取 spring.datasource.user 配置到 HikariDataSource 对象
|
||||
public DataSource userDataSource() {
|
||||
// 获得 DataSourceProperties 对象
|
||||
DataSourceProperties properties = this.userDataSourceProperties();
|
||||
// 创建 HikariDataSource 对象
|
||||
return createHikariDataSource(properties);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 quartz 数据源的配置对象
|
||||
*/
|
||||
@Bean(name = "quartzDataSourceProperties")
|
||||
@ConfigurationProperties(prefix = "spring.datasource.quartz") // 读取 spring.datasource.quartz 配置到 DataSourceProperties 对象
|
||||
public DataSourceProperties quartzDataSourceProperties() {
|
||||
return new DataSourceProperties();
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 quartz 数据源
|
||||
*/
|
||||
@Bean(name = "quartzDataSource")
|
||||
@ConfigurationProperties(prefix = "spring.datasource.quartz.hikari")
|
||||
public DataSource quartzDataSource() {
|
||||
// 获得 DataSourceProperties 对象
|
||||
DataSourceProperties properties = this.quartzDataSourceProperties();
|
||||
// 创建 HikariDataSource 对象
|
||||
return createHikariDataSource(properties);
|
||||
}
|
||||
|
||||
private static HikariDataSource createHikariDataSource(DataSourceProperties properties) {
|
||||
// 创建 HikariDataSource 对象
|
||||
HikariDataSource dataSource = properties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
|
||||
// 设置线程池名
|
||||
if (StringUtils.hasText(properties.getName())) {
|
||||
dataSource.setPoolName(properties.getName());
|
||||
}
|
||||
return dataSource;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,4 +1,30 @@
|
||||
spring:
|
||||
datasource:
|
||||
user:
|
||||
url: jdbc:mysql://127.0.0.1:3306/lab-28-quartz-jdbc-user?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password:
|
||||
quartz:
|
||||
url: jdbc:mysql://127.0.0.1:3306/lab-28-quartz-jdbc-quartz?useSSL=false&useUnicode=true&characterEncoding=UTF-8
|
||||
driver-class-name: com.mysql.jdbc.Driver
|
||||
username: root
|
||||
password:
|
||||
|
||||
# Quartz 的配置,对应 QuartzProperties 配置类
|
||||
quartz:
|
||||
scheduler-name: clusteredScheduler # Scheduler 名字。默认为 schedulerName
|
||||
job-store-type: jdbc # Job 存储器类型。默认为 memory 表示内存,可选 jdbc 使用数据库。
|
||||
auto-startup: true # Quartz 是否自动启动
|
||||
startup-delay: 0 # 延迟 N 秒启动
|
||||
wait-for-jobs-to-complete-on-shutdown: true # 应用关闭时,是否等待定时任务执行完成。默认为 false ,建议设置为 true
|
||||
overwrite-existing-jobs: false # 是否覆盖已有 Job 的配置
|
||||
properties: # 添加 Quartz Scheduler 附加属性,更多可以看 http://www.quartz-scheduler.org/documentation/2.4.0-SNAPSHOT/configuration.html 文档
|
||||
org:
|
||||
quartz:
|
||||
threadPool:
|
||||
threadCount: 25 # 线程池大小。默认为 10 。
|
||||
threadPriority: 5 # 线程优先级
|
||||
class: org.quartz.simpl.SimpleThreadPool # 线程池类型
|
||||
jdbc: # 使用 JDBC 的 JobStore 的时候,JDBC 的配置
|
||||
initialize-schema: never # TODO
|
||||
|
||||
@@ -10,7 +10,7 @@ spring:
|
||||
org:
|
||||
quartz:
|
||||
threadPool:
|
||||
threadCount: 25 # 线程数
|
||||
threadCount: 25 # 线程池大小。默认为 10 。
|
||||
threadPriority: 5 # 线程优先级
|
||||
class: org.quartz.simpl.SimpleThreadPool # 线程池类型
|
||||
# jdbc: # 这里暂时不说明,使用 JDBC 的 JobStore 的时候,才需要配置
|
||||
|
||||
Reference in New Issue
Block a user