2013-04-23 78 views
1

我需要在Spring中創建Cron服務,但是我找不到足夠的信息如何使用jdbc存儲來執行此操作。我希望Quartz使用我目前的數據源連接,我的數據庫是PostgreSql。我需要創建使用jdbc存儲,因爲即使服務器關閉,任務也應該完成。在Spring中使用jdbc存儲的Quartz Cron調度器

回答

1

您可以從http://quartz-scheduler.org/嘗試這樣的事情

<bean id="scheduler-JDBC" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" abstract="true"> 
    <property name="dataSource" ref="myDataSource" /> 
    <property name="transactionManager" ref="transactionManager" /> 
    <property name="jobFactory"> 
     <bean class="org.springframework.scheduling.quartz.SpringBeanJobFactory" /> 
    </property> 
    <property name="overwriteExistingJobs" value="true" /> 
    <property name="quartzProperties"> 
     <props> 
      <prop key="org.quartz.jobStore.isClustered">false</prop> 
      <prop key="org.quartz.jobStore.driverDelegateClass">org.quartz.impl.jdbcjobstore.StdJDBCDelegate</prop> 
      <prop key="org.quartz.scheduler.instanceId">AUTO</prop> 
      <prop key="org.quartz.scheduler.skipUpdateCheck">true</prop> 
     </props> 
    </property> 
</bean> 

<bean id="cronScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" parent="scheduler-JDBC"> 
    <property name="startupDelay" value="10" /> 
    <property name="autoStartup" value="true" /> 
    <property name="applicationContextSchedulerContextKey" value="applicationContext"/> 
    <property name="triggers"> 
     <list> 
      <ref bean="myTrigger" />     
     </list> 
    </property> 
</bean> 

下載Quartz發行,你會發現數據庫腳本在文檔/ dbTables所需的表。