使用Spring Boot利用Quartz(2)
在主数据库和Quartz中分开数据库。
■实现的想法
+----------+ +-------------+ +------------+
| | | Spring Boot | JDBC | MainDB |
| Browser |<---------->| + |<---------->| |
| | port=8080 | Quartz | port=33060 +------------+
| | | | +------------+
| | | | JDBC | QuartzDB |
| |<---------->| |<---------->| |
+----------+ +-------------+ port=33060 +------------+
■建立环境
・Windows10 第21H2版本
・IntelliJ IDEA 2022.1.4(社区版)
・OpenJDK Runtime Environment Zulu17.36+17-CA(构建版本17.0.4.1+1-LTS)
・Spring Boot 2.7.4
・Quartz
・Mysql 5.7.39
1. 编辑属性文件
使用Spring框架,我们可以通过更改前缀来描述修改数据库连接部分的主要部分和Quartz部分。
在本例中,我们将主要部分设置为spring.datasource,将Quartz部分设置为spring.quartz.datasource。
spring.datasource.platform=org.hibernate.dialect.MySQL5Dialect
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://***.***.***.***:33060/メインDB
spring.datasource.username=メインユーザID
spring.datasource.password=メインパスワード
spring.quartz.datasource.platform=org.hibernate.dialect.MySQL5Dialect
spring.quartz.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.quartz.datasource.url=jdbc:mysql://***.***.***.***:33060/quartzDB
spring.quartz.datasource.username=quartzユーザID
spring.quartz.datasource.password=quartzパスワード
创建配置类
在主要和Quartz中分别定义DataSource Bean。
使用@ConfigurationProperties注解来写每个的前缀。
对于Quartz,要使用@QuartzDataSource注解。
@Configuration
public class ApplicationConfiguration {
@Bean
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource mainDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@QuartzDataSource
@ConfigurationProperties(prefix = "spring.quartz.datasource")
public DataSource quartzDataSource() {
return DataSourceBuilder.create().build();
}
}
请提供以下的参考。