首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring中应用Quartz的2种方法【转】

2012-10-31 
Spring中使用Quartz的2种方法【转】开发环境:Spring2.0。如果包类没有Quartz包,则需要加入到类路径。A:extends

Spring中使用Quartz的2种方法【转】

开发环境:Spring2.0。如果包类没有Quartz包,则需要加入到类路径。

A:extends QuartzJobBean方法

1:定义任务(extends QuartzJobBean)
package onlyfun.bb.Quartz;
import org.quartz.JobExecutionContext;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class QuartzDemo extends QuartzJobBean {
??? private JobData jobData; //JobData为自定义类
??? public void executeInternal(JobExecutionContext context){
?????? System.out.println(jobData.getData()+" is executed");
??? }
??? public JobData getJobData() {
?????? return jobData;
??? }
??? public void setJobData(JobData jobData) {
?????? this.jobData = jobData;
??? }
}

JobData.java:

package onlyfun.bb.Quartz;
import java.util.Date;
public class JobData {
??? public String getData(){
?????? return "Data from JobData at "+new Date().toString();
??? }
}

?

2: 配置
<!-- use Quartz -->
<bean id="someData" value="onlyfun.bb.Quartz.QuartzDemo"></property>
??? <property name="jobDataAsMap">
????? <map>
??????? <entry key="jobData" value-ref="someData"></entry>
????? </map>
??? </property>
</bean>

<bean id="simpleTriggerBean" ref="jobDetailBean"></property>
??? <property name="repeatInterval" value="2000"></property>
??? <property name="startDelay" value="1000"></property>
</bean>

<bean id="scheduledFactoryBean" value="onlyfun.bb.Quartz.QuartzDemo"></property>
??? <property name="jobDataAsMap">
????? <map>
??????? <entry key="jobData" value-ref="someData"></entry>
????? </map>
??? </property>
</bean>

<bean id="cronTriggerBean" ref="jobDetailBean"></property>
??? <property name="cronExpression" value="0 37-38 15 * * ?"/>
</bean>

<bean id="scheduledFactoryBean" ref="someData"></property>
</bean>

<bean id="jobDetailBean" ref="someJob"></property>
??? <property name="targetMethod" value="execute"></property>
</bean>

<bean id="cronTriggerBean" ref="jobDetailBean"></property>
??? <property name="cronExpression" value="0 6 16 * * ?"/>
</bean>

<bean id="scheduledFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
?? <property name="triggers">
???? <list>
?????? <ref bean="cronTriggerBean"/>
???? </list>
?? </property>
</bean>

此处配置主要修改了粗体部分。对作为1个Job的类进行了定义。而方法A不需要定义。

?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yefriendly/archive/2008/05/28/2490789.aspx

热点排行