使用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();
    }
}

请提供以下的参考。

 

bannerAds