我們有使用Spring框架在Tomcat上運行的Web應用程序。我們需要爲經常性操作添加一些預定工作。我們偶然發現了Quartz Scheduler,並跟進了tutorial for configuring Jobs using Quartz with Spring,並按預期安排了工作。與Quartz調度使用默認值計劃作業
因此,我們必須在應用程序啓動時被安排一些任務。現在我們希望用戶手動運行作業並更改作業的觸發器,但我們需要將這些更改持久保存到數據庫中。所以當應用程序啓動時,它會讀取持久化任務,如果它們不存在,則從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>
所以我們想繼續使用默認任務豆狀結構,但選項如果已經安排,則從數據庫加載它們
這裏Quartz是不是必需的,如果有誰知道一個簡單的方法使用Spring @Scheduled
來實現它,它可能是有用的。
謝謝你的時間。
很少指針,您可以通過傳遞數據源到SchedulerFactoryBean來創建一個持久存儲 – 2013-02-28 09:09:28