关于计划任务的写法

时间:2022-11-22 07:50:38
1.首先类先继承 extends QuartzJobBean
涉及到的包有
2.重写这个方法
@Override
protected void executeInternal(org.quartz.JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("这是测试方法");
}
3.获取计划任务
ApplicationContext context=new ClassPathXmlApplicationContext("job.xml");Scheduler scheduler=        (Scheduler) context.getBean("scheduledFactoryBean");
4.创建配置文件job.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"       xmlns:p="http://www.springframework.org/schema/p" xmlns:aop="http://www.springframework.org/schema/aop"       xmlns:context="http://www.springframework.org/schema/context"       xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns="http://www.springframework.org/schema/beans"       xsi:schemaLocation="http://www.springframework.org/schema/beans                           http://www.springframework.org/schema/beans/spring-beans-4.3.xsd                           http://www.springframework.org/schema/context                           http://www.springframework.org/schema/context/spring-context-4.3.xsd                           http://www.springframework.org/schema/mvc                           http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd                           http://www.springframework.org/schema/aop                      http://www.springframework.org/schema/aop/spring-aop-4.3.xsd"><!-- use Quartz --><bean id="someData" class="JobData"></bean><bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean"><property name="jobClass" value="Test"></property><property name="jobDataAsMap">    <map>        <entry key="jobData" value-ref="someData"></entry>    </map></property></bean><bean id="simpleTriggerBean"      class="org.springframework.scheduling.quartz.SimpleTriggerBean"><property name="jobDetail" ref="jobDetailBean"></property><property name="repeatInterval" value="2000"></property><property name="startDelay" value="1000"></property></bean><bean id="scheduledFactoryBean"      class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers">    <list>        <ref bean="simpleTriggerBean"/>    </list></property></bean></beans>
5.导入jar包
org.quartz-sheduler:quartz:1.86
org.springframework:spring-context-support:2.5
org:springframework:spring-tx:2.5


注意:1.包的版本不要太高,否则会有报错
      2.在配置文件中需要修改JobDetailBean中的两个地方:jobClass和jobData对应的值