您的位置:首页 > 编程语言 > Java开发

Spring使用Quartz配置定时任务

2011-11-02 22:27 435 查看
[color=blue][size=medium]1.Spring使用Quartz配置定时的简单测试类:[/size][/color]


package com.wl.spring.quartz.test;

public class QuartzImpl {

public void printName(){
System.out.println("My Name is Leio,Wang!");
}
}


[color=blue][size=medium]2.配置文件:[/size][/color]

<!--真正调用的类 -->
<bean id="quartzImpl" class="com.wl.spring.quartz.test.QuartzImpl">
</bean>

<!-- 创建调度任务 -->
<bean id="task" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<!-- 要调度的类 -->
<ref bean="quartzImpl"/>
</property>
<property name="targetMethod">
<!-- 要调度的方法名称 -->
<value>printName</value>
</property>
</bean>

<!-- 配置调度任务 -->
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="task"/>
</property>
<property name="cronExpression">
<!-- 定时器时间设置,每天22:00开始到22:59结束每分钟一次触发-->
<value>0 * 22 * * ?</value>
</property>
</bean>

<!-- 启动调度 -->
<bean autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="cronTrigger"/>
</list>
</property>
</bean>


结果:My Name is Leio,Wang! 在22:00到22:59每一分钟打印一次。

[color=blue][size=medium]3.遇到的问题:[/size][/color]

在启动服务器的时候遇到了---"java.lang.NoClassDefFoundError in quartz"的信息,将
“quartz-all-1.6.0.jar”添加到工程之后解决问题。

[color=blue][size=medium]4.spring定时任务时间格式cronExpression设置:[/size][/color]

参考:http://apps.hi.baidu.com/share/detail/32558585 阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: