我需要在 Spring 中创建 Cron 服务,但我找不到足够的信息来如何使用 jdbc 存储。我希望 Quartz 使用我目前与 Datasource 的连接,我的数据库是 PostgreSql。我需要创建使用 jdbc 存储,因为即使服务器关闭,任务也应该完成。
问问题
2466 次
1 回答
1
你可以试试这样的
<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>
从http://quartz-scheduler.org/下载 Quartz 发行版,您将在 docs/dbTables 中找到所需表的数据库脚本。
于 2013-04-24T13:25:17.963 回答