Кварц планирует задания должным образом, но не создает записи ни в одной из кварцевых таблиц в моей предоставленной БД. Однако он ищет таблицы в моей предоставленной БД, если я удаляю все кварцевые таблицы и пытаюсь запустить сервер.
Это означает, что каждый раз, когда в памяти используется БД.
Причина, по которой я хочу использовать предоставленную базу данных, заключается в возможности возобновления работы после перезапуска сервера приложений.
Я планирую работу для запуска каждую минуту.
Моя проблема в том, что я не могу понять, что я делаю неправильно
Spring XML:
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="quartzProperties">
<map>
<entry key="org.quartz.threadPool.class" value="org.quartz.simpl.SimpleThreadPool" />
<entry key="org.quartz.threadPool.threadCount" value="2" />
<entry key="org.quartz.jobStore.isClustered" value="false" />
<entry key="org.quartz.scheduler.jobFactory.class" value="org.quartz.simpl.SimpleJobFactory" />
<entry key="org.quartz.jobStore.class" value="org.quartz.impl.jdbcjobstore.JobStoreTX" />
<entry key="org.quartz.jobStore.driverDelegateClass" value="org.quartz.impl.jdbcjobstore.StdJDBCDelegate" />
<entry key="org.quartz.jobStore.tablePrefix" value="QRTZ_" />
<entry key="org.quartz.jobStore.dataSource" value="myDS" />
<entry key="org.quartz.dataSource.myDS.driver" value="com.mysql.jdbc.Driver"/>
<entry key="org.quartz.dataSource.myDS.URL" value="jdbc:mysql://localhost:3306/quartz_demo"/>
<entry key="org.quartz.dataSource.myDS.user" value="root"/>
<entry key="org.quartz.dataSource.myDS.password" value="root"/>
<entry key="org.quartz.dataSource.myDS.maxConnections" value="5"/>
</map>
</property>
</bean>
Контроллер покоя:
private JobDetail buildJobDetail() {
return JobBuilder.newJob(ExploderLoopSchedulerJob.class)
.withIdentity("exploderLoopJob", "exploderLoop-jobs")
.withDescription("Send Exploder Loop Job")
.storeDurably()
.build();
}
private Trigger buildJobTrigger(JobDetail jobDetail, ZonedDateTime startAt) {
return TriggerBuilder.newTrigger().
forJob(jobDetail)
.withIdentity(jobDetail.getKey().getName(), "exploderLoop-triggers")
.withDescription("Send Exploder Loop Trigger")
.startAt(Date.from(startAt.toInstant()))
.withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInMinutes(1).repeatForever())
.build();
}
Ожидаемый результат - запись в quartz_triggers при планировании задания.
Фактический результат - нет записи ни в одной из таблиц quartz_, а используется БД в памяти