hondaufo 发表于 2013-1-13 18:54:39

结合Spring使用Quartz编写定时任务两种方式

    最近需要用到Quartz进行定时任务功能,通过近期研究发现,spring已经很好的集成Quartz,它主要是屏蔽了Quartz底层一些配置,使开发人员可以几乎不受到任何限制就能够利用Quartz进行定时任务的工作,这里主要是通过实例的方式对利用Spring进行Quartz定时开发的两种方式进行讲解。

1、功能需求

  需要每个30秒对系统指定目录进行扫描,把符合条件的文件进行解析入库工作,这里只提取出有关顶事任务的内容

2、研究一下Spring+Quartz结合方式,大体有两种方式可以达到定时任务功能

2.1 借助于Spring的org.springframework.scheduling.quartz.JobDetailBean的类功能,继承Spring封装Quartz的org.springframework.scheduling.quartz.QuartzJobBean类,要实现executeInternal方法,并把其中涉及到需要定时任务处理的功能放入其中


Spring配置如下:

<div style="padding-right: 5px; padding-left: 4px; font-size: 13px; padding-bottom: 4px; width: 98%; padding-top: 4px; background-color: #eeeeee; border: #cccccc 1px solid;"> 1   
2      <bean id="saveProjectJob"
3      class="org.springframework.scheduling.quartz.JobDetailBean">
4      <property name="jobClass">
5      <value>
6      com.gresoft.components.fileupload.service.ParseFileQuartz
7      </value>
8      </property>
9      <property name="jobDataAsMap">
10      <map>
11      <entry key="readXmlService">
12      <ref bean="readXmlService" />
13      </entry>
14      </map>
15      </property>
16      </bean>
17      <bean id="saveCron"
18      class="org.springframework.scheduling.quartz.CronTriggerBean">
19      <property name="jobDetail">
20            <ref local="saveProjectJob" />
21      </property>
22      <property name="cronExpression">
23            <value>0/30 * * * * ?</value>
24      </property>
25    </bean>
26    <bean id="scheduler"
27      class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
28      <property name="triggers">
29            <ref local="saveCron" />
30      </property>
31    </bean>
页: [1]
查看完整版本: 结合Spring使用Quartz编写定时任务两种方式