六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 87|回复: 0

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

[复制链接]

升级  50%

5

主题

5

主题

5

主题

童生

Rank: 1

积分
25
 楼主| 发表于 2013-1-13 18:54:39 | 显示全部楼层 |阅读模式
    最近需要用到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>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表