quartz mysql数据源_配置quartz数据源的三种方式

如果是使用了JDBC JobStore或JobStoreCMT获得持久的Job时,就要配置相关的数据源了。

方式一:使用quartz.properties文件,这时只需要在property文件中增加如下的一些属性就ok了。

org.quartz.dataSource.NAME.driver = 数据库驱动(requried)

org.quartz.dataSource.NAME.URL = 连接数据库的url (requried)

org.quartz.dataSource.NAME.user = 连接的数据库的用户名(not requried)

org.quartz.dataSource.NAME.password =连接的数据库的密码(not requried)

org.quartz.dataSource.NAME.maxConnections = 连接池中最大连接数(not requried)

org.quartz.dataSource.NAME.validationQuery = sql查询语句(not requried)

注:org.quartz.dataSource.NAME中的NAME是自己随便定义的一个数据源的名字。

方式二:使用自定义的ConnectionProvider配置数据源:

自定义一个ConnectionProvider类,并在quartz.properties文件中依据ConnectionProvider类配置它。

org.quartz.dataSource.myConProvider(数据源名).connectionProvider.class = XXXXX(自定义的ConnectionProvider)。

方式三:使用应用服务器中DataSource的属性

org.quartz.dataSource.NAME.jndiURL = dataSource的JNDI url

org.quartz.dataSource.NAME.java.naming.factory.initial = 使用的JNDI InitialContextFactory类名。

org.quartz.dataSource.NAME.java.naming.provider.url = 连接JNDI的URL

org.quartz.dataSource.NAME.java.naming.security.principal =连接JNDI的用户名

org.quartz.dataSource.NAME.java.naming.security.credentials = 连接到JNDI的用户凭证

以上就是配置quartz数据源的三种方式的全部内容。

在Spring Boot应用中使用Quartz进行作业调度时,可以通过配置Quartz的持久化数据源来实现将Quartz作业信息存储到数据库中。如果使用了Dynamic多数据源,需要为Quartz定使用哪个数据源。 具体步骤如下: 1. 配置Quartz的持久化数据源,例如: ``` org.quartz.dataSource.quartzDataSource.driverClassName=com.mysql.jdbc.Driver org.quartz.dataSource.quartzDataSource.URL=jdbc:mysql://localhost:3306/quartz?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&failOverReadOnly=false&zeroDateTimeBehavior=convertToNull org.quartz.dataSource.quartzDataSource.username=root org.quartz.dataSource.quartzDataSource.password=root org.quartz.dataSource.quartzDataSource.maxConnections=10 org.quartz.dataSource.quartzDataSource.provider=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate ``` 2. 在Spring Boot应用中,创建一个实现了`org.springframework.boot.autoconfigure.quartz.QuartzDataSource`接口的类,用于动态获取Quartz的持久化数据源配置信息。例如: ``` @Configuration public class QuartzConfiguration implements QuartzDataSource { private final DynamicDataSource dynamicDataSource; public QuartzConfiguration(DynamicDataSource dynamicDataSource) { this.dynamicDataSource = dynamicDataSource; } @Override public DataSource getDataSource() { return dynamicDataSource.getDataSource("quartzDataSource"); } } ``` 在上述代码中,`DynamicDataSource`是自定义的动态数据源类,`getDataSource()`方法根据数据源名称获取对应的数据源。 3. 在Quartz配置类中,使用上述`QuartzDataSource`实现类来获取持久化数据源。例如: ``` @Configuration public class QuartzConfig { @Autowired private QuartzDataSource quartzDataSource; @Bean public SchedulerFactoryBean schedulerFactoryBean() { SchedulerFactoryBean factory = new SchedulerFactoryBean(); factory.setDataSource(quartzDataSource.getDataSource()); // 其他配置... return factory; } } ``` 在上述代码中,`schedulerFactoryBean()`方法创建了一个`SchedulerFactoryBean`实例,并将持久化数据源设置为`quartzDataSource`。这样就可以实现在Spring Boot应用中使用Dynamic多数据源的同时,为Quartz配置持久化数据源了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值