前提
需要用到的jar包org.springframework.context.support-3.0.5.RELEASE.jar
tomcat配置 启动scheduler
-Deis.scheduler.start=true
方法一
配置文件
<!-- 要调用的工作类 -->
<bean id="myJobWork" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>JobWork(直接在default目录下没有package,如果有需添加)</value>
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="myQuartzTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJobWork" />
</property>
<property name="cronExpression">
<value>0 * * * * ?(每分钟触发一次)</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<!--添加触发器-->
<property name="triggers">
<list>
<ref local="myQuartzTrigger" />
</list>
</property>
</bean>
JobWork类
public class JobWork extends QuartzJobBean {
@Override
protected void executeInternal(JobExecutionContext context)
throws JobExecutionException {
System.out.println("1");
}
}
方法2
<!-- 定义触发时间 -->
<bean id="myQuartzTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="factoryJob" />
</property>
<property name="cronExpression">
<value>0 * * * * ?</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
<!--添加触发器-->
<property name="triggers">
<list>
<ref local="myQuartzTrigger" />
</list>
</property>
</bean>
<!-- 工厂类 -->
<bean id="factoryJob"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="myJob" />
</property>
<property name="targetMethod">
<value>say</value>
</property>
</bean>
<bean id="myJob" class="MyJob(直接在default目录下没有package,如果有需添加)"></bean>
MyJob类
public class MyJob {
public void say(){
System.out.println("1");
}
}