采用TimerTask的方式无法定时定点,quartz就更灵活一些了。
TestBean.java
package cn.joypen.spring.demo2.bean;
/**
- 测试bean
- @author JOYPEN
- @email user.zhaopeng@qq.com
- @webSite htt://joypen.cn
- @time 2010-7-22 下午07:53:38
*/
public class TestBean {
private String name = "joypen";
public String getName() {
}return name;
public void setName(String name) {
}this.name = name;
}
TestService.java
package cn.joypen.spring.demo2.service;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import cn.joypen.spring.demo2.bean.TestBean;
import cn.joypen.spring.demo2.dao.iface.ITestDao;
/** - 测试类
* - @author JOYPEN
- @email user.zhaopeng@qq.com
- @webSite htt://joypen.cn
@time 2010-7-22 下午07:52:37
*/
public class TestService extends QuartzJobBean {
private TestBean testBean;
//必须集成QuartzJobBean 的executeInternal的方式
@Override
protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {System.out.println(testBean.getName());
}
public TestBean getTestBean() {return testBean;
}
public void setTestBean(TestBean testBean) {this.testBean = testBean;
}
}
applicationContext.xmlclass="org.springframework.scheduling.quartz.JobDetailBean"> cn.joypen.spring.demo2.service.TestService class="org.springframework.scheduling.quartz.CronTriggerBean"> 0/5 * * * * ? class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
quartz也可以采用org.springframework.scheduling.quartz.SimpleTriggerBean的方式,功能与TimerTask类似,好处在于不需要将注入的文件写出来,也就是因为这个原因,我搞了一天,才发现原因。要采用例子的方式,必须要加入。