Как установить источник данных в кварцевом расписании.[ОШИБКА] org.quartz.SchedulerException: не удалось инициализировать источник данных: myDS - PullRequest
0 голосов
/ 16 мая 2019

Это мой конфигурационный файл quartz.properties

org.quartz.scheduler.instanceName= LivingOrdering
org.quartz.scheduler.instanceId=99199
org.quartz.scheduler.rmi.export=false
org.quartz.scheduler.rmi.proxy=false
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=3
org.quartz.context.key.QuartzTopic=QuartzPorperties
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate
org.quartz.jobStore.tablePrefix=qrtz_
org.quartz.jobStore.dataSource=quartzDataSource
org.quartz.dataSource.quartzDataSource.driver=org.postgresql.Driver
org.quartz.dataSource.quartzDataSource.URL=jdbc:postgresql://localhost:5432/quartz
org.quartz.dataSource.quartzDataSource.user=admin
org.quartz.dataSource.quartzDataSource.password=admin
org.quartz.dataSource.quartzDataSource.maxConnections=300

Я получаю сообщение об ошибке -:

Scheduler scheduler = new StdSchedulerFactory().getScheduler();
Error: org.quartz.SchedulerException: Could not initialize DataSource: quartzDataSource

1 Ответ

1 голос
/ 16 мая 2019

SpringBoot имеет автоматическую настройку Quartz, вам не нужно настраивать Quartz с помощью quartz.properties, так как он ничего не знает о Spring, поэтому вы не можете просто вставить туда имя источника данных.Прочитайте документацию .

Все, что вам нужно для начала работы с Quartz, - это включить стартовый файл в ваш файл pom.xml:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

Настройте стандартный источник данных Spring (application.properties):

spring.datasource.url = jdbc:postgresql://localhost:5432/quartz
spring.datasource.username = admin
spring.datasource.password = admin

Затем добавьте (в application.properties):

spring.quartz.job-store-type=jdbc
# Add the below line to have Spring Boot auto create the Quartz tables
spring.quartz.jdbc.initialize-schema=always

Если вы хотите передать дополнительные свойства в Quartz, вы можете добавить префикс имени свойства к spring.quartz.properties вот так:

spring.quartz.properties.org.quartz.scheduler.instanceName=LivingOrdering
...