1:spring配置文件
<bean id="dailyjob.processor"
class="com.DailyJobProcessor">
<property name="dailyjobQueue">
<list>
<ref local="rollback" />
<ref local="tallydone" />
<ref local="discountnote" />
</list>
</property>
</bean>
<bean id="jobdetail.factory"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="dailyjob.processor" />
</property>
<property name="targetMethod">
<value>process</value>
</property>
</bean>
<bean id="trigger.jobdetail"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="jobdetail.factory" />
</property>
<property name="startDelay">
<value>${time.jobstartdelay}</value>
</property>
<property name="repeatInterval">
<value>${time.jobrepeatinterval}</value>
</property>
</bean>
2: DailyJobProcessor类
*/
public class DailyJobProcessor implements Serializable {
private List dailyjobQueue;
public void process() {
//按注入计划任务的顺序执行
for (int i = 0; i < dailyjobQueue.size(); i++) {
try {
DailyJob job = (DailyJob) dailyjobQueue.get(i);
job.execute();
} catch (Exception e) {
System.out.println(e.getMessage());
e.printStackTrace();
}
}
}
/****************** Spring 注入 *********************/
public List getDailyjobQueue() {
return dailyjobQueue;
}
public void setDailyjobQueue(List dailyjobQueue) {
this.dailyjobQueue = dailyjobQueue;
}
}
3:DailyJob 为interface 让几种job实现它