java – 使Quartz调度程序在没有JDBC的情况下持久化

前端之家收集整理的这篇文章主要介绍了java – 使Quartz调度程序在没有JDBC的情况下持久化前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在构建一个大约 MongoDB的应用程序,并且需要定期运行类似cron的作业.当项目基于带有JDBC的RDBMS时,我之前使用过 Quartz这样的事情.

由于我们已经在本项目中使用MongoDB作为我们的主数据存储区,因此我不想仅仅为了保留Quartz作业而引入RDBMS,但似乎没有任何类型的JobStore实现MongoDB.

任何人都可以推荐使用MongoDB支持Quartz的方法,或者Quartz的简单替代方法吗?我的需求相当简单(使用某种配置方式运行各种java作业,àlacron).

解决方法

我们用Spring运行石英,它只是一个带有作业定义和cron表达式的XML文件.

在Spring中宣布一份工作:

  1. <bean name="myJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailfactorybean">
  2. <property name="concurrent" value="false"/>
  3. <property name="targetBeanName" value="myBean"/>
  4. <property name="targetMethod" value="myScheduledMethod"/>
  5. </bean>
  6.  
  7. <bean id="myJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
  8. <property name="jobDetail" ref="myJob"/>
  9. <!-- every 30s -->
  10. <property name="cronExpression" value="0/30 * * * * ?"/>
  11. </bean>

石英接线:

  1. <bean id="schedulerfactorybean" class="org.springframework.scheduling.quartz.Schedulerfactorybean">
  2. <property name="triggers">
  3. <!-- List of batch jobs to be fed to the scheduler. -->
  4. <list>
  5. <ref bean="myTrigger"/>
  6. </list>
  7. </property>
  8. </bean>

运行它:

  1. import org.springframework.context.support.ClassPathXmlApplicationContext;
  2.  
  3. public class App
  4. {
  5. public static void main( String[] args ) throws Exception
  6. {
  7. new ClassPathXmlApplicationContext("jobs-context.xml");
  8. }
  9. }

猜你在找的Java相关文章