У нас есть веб-приложение, работающее в Tomcat с использованием Spring Framework. Нам нужно добавить некоторые запланированные задания для повторяющихся операций. Мы столкнулись с Quartz Scheduler для этого и последовали за tutorial for configuring Jobs using Quartz with Spring и получили задание, запланированное и работающее, как ожидалось.Запланированные задания с планировщиком кварца со значениями по умолчанию
У нас есть некоторые задачи, которые планируются при запуске приложения. Теперь мы хотим, чтобы пользователь вручную запускал задания и менял триггер для заданий, но нам нужно, чтобы эти изменения сохранялись в базе данных. Поэтому, когда приложение запускается, оно будет читать сохраненные задачи, а если они не существуют, загрузите задания по умолчанию из файла дескриптора весны.
Для сотрясения простоты, давайте предположим, что мы используем файл beans.xml из примера:
<bean id="processToExecute" class="com.mycompany.ProcessToExecute" />
<bean name="processToExecuteJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.mycompany.ProcessToExecuteJob" />
<property name="jobDataAsMap">
<map>
<entry key="processToExecute" value-ref="processToExecute" />
</map>
</property>
</bean>
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="processToExecuteJob" />
<property name="cronExpression" value="0/5 * * * * ?" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="processToExecuteJob" />
</list>
</property>
<property name="triggers">
<list>
<ref bean="simpleTrigger" />
</list>
</property>
</bean>
Таким образом, мы хотели бы продолжать использовать бобы-подобные конфигурации для выполнения задач по умолчанию, но опцию загрузите их из базы данных, если они уже запланированы.
Кварц здесь не является обязательным условием, если кто-либо знает более простой способ его достижения, используя Spring @Scheduled
, он тоже может быть полезен.
Спасибо за ваше время.
Мало указатель вы можете создали сохраненный магазин, передавая источник данных для SchedulerFactoryBean –