spring配置定时器

java web 配置spring
https://blog.csdn.net/woshimyc/article/details/80089062

MyJob.java:

[java]  view plain  copy
  1. package com.yc.job;  
  2. import java.util.Date;  
  3. import com.yc.utils.DateUtil;  
  4. /**@ClassName: MyJob 
  5.  * @Description:不用继承Quartz的Job接口  
  6.  * @author:  
  7.  * @date: 
  8.  */   
  9. public class MyJob {   
  10.     public void execute() {   
  11.         System.out.println("Quartz Spring XML 配置 - MyJob:"+DateUtil.format(new Date(), DateUtil.dmy_hms));  
  12.     }   
  13. }  

MyJobDetail.java:
[java]  view plain  copy
  1. package com.yc.job;  
  2. import java.util.Date;  
  3. import org.quartz.JobExecutionContext;  
  4. import org.quartz.JobExecutionException;  
  5. import org.springframework.scheduling.quartz.QuartzJobBean;  
  6. import com.yc.utils.DateUtil;  
  7. /** 
  8.  *  
  9.  *  
  10.  * @ClassName: MyJobDetail 
  11.  *  
  12.  * @Description: 配置文件中使用JobDetailBean,需要继承QuartzJobBean 
  13.  *  
  14.  * @author: 
  15.  *  
  16.  * @date: 
  17.  */  
  18. public class MyJobDetail extends QuartzJobBean{  
  19.     protected void executeInternal(JobExecutionContext arg0)  
  20.             throws JobExecutionException {  
  21.         System.out.println("Spring 集成 Quartz 的第二种方式:"+DateUtil.format(new Date(), DateUtil.dmy_hms));  
  22.     }  
  23. }  

MySimpleJob.java:
[java]  view plain  copy
  1. package com.yc.job;  
  2. import java.util.Date;  
  3. import org.springframework.stereotype.Component;  
  4. import com.yc.utils.DateUtil;  
  5. /** 
  6.  * 简单任务 
  7.  */  
  8. @Component("mySimpleJob")  
  9. public class MySimpleJob {  
  10.     public void execute() {  
  11.         System.out.println("Quartz Spring XML 简单任务- MySimpleJob:"+DateUtil.format(new Date(), DateUtil.dmy_hms));  
  12.     }  
  13. }  

ediServiceContext.xml 新建配置:
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!-- $Id: ediServiceContext.xml $ -->  
  3. <beans xmlns="http://www.springframework.org/schema/beans"   
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">  
  6.      <!-- 配置Job类 -->   
  7.      <bean id="myJob" class="com.yc.job.MyJob">  
  8.      </bean>  
  9.      <!-- 配置JobDetail -->  
  10.      <bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">  
  11.         <property name="jobClass" value="com.yc.job.MyJobDetail"></property>  
  12.         <property name="durability" value="true"></property>  
  13.     </bean>  
  14.  </beans>  

adapterContext.xml 新建配置:
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>   
  2. <!-- $Id: adapterContext.xml $ -->  
  3. <beans xmlns="http://www.springframework.org/schema/beans"   
  4.  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">  
  6.     <!-- 配置调度工厂 -->   
  7.   <!-- lazy-init=’false’,则容器启动时就会执行调度程序;  
  8.      lazy-init=’true’,则需要实例化该bean才能执行调度程序 -->  
  9.   <bean id="springJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="true">   
  10.    <property name="triggers">   
  11.     <list>   
  12.      <ref bean="cronTriggerFactoryBean"></ref>   
  13.      <ref bean="quartzJobBean"></ref>  
  14.      <ref bean="simpleTrigger"/>  
  15.     </list>   
  16.    </property>   
  17.   </bean>   
  18.       
  19.   <!-- 1,CronTrigger 配置调度任务 -->  
  20.   <!-- 配置JobDetail -->   
  21.   <bean id="springQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">   
  22.    <!-- 执行目标job -->   
  23.    <property name="targetObject" ref="myJob"></property>   
  24.    <!-- 要执行的方法 -->   
  25.    <property name="targetMethod" value="execute"></property>   
  26.   </bean>   
  27.   <!-- 配置tirgger触发器 -->   
  28.   <bean id="cronTriggerFactoryBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">   
  29.    <!-- jobDetail -->   
  30.    <property name="jobDetail" ref="springQtzJobMethod"></property>   
  31.    <!-- cron表达式,执行时间 每5秒执行一次 -->   
  32.    <property name="cronExpression" value="0/5 * * * * ?"></property>   
  33.   </bean>   
  34.     
  35.   <!-- 2,QuartzJobBean 配置调度任务 -->  
  36.   <!-- 配置quartzJob触发器 -->  
  37.     <bean id="quartzJobBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">  
  38.         <!-- jobDetail -->  
  39.         <property name="jobDetail" ref="jobDetail"></property>  
  40.         <!-- cron表达式,执行时间  每5秒执行一次 -->  
  41.         <property name="cronExpression" value="0/5 * * * * ?"></property>  
  42.     </bean>  
  43.     
  44.     
  45.   <!--3,配置简单触发器-->  
  46.     <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">  
  47.         <property name="jobDetail" ref="simpleJobDetail"/>  
  48.         <!-- 延迟3s执行 -->  
  49.         <property name="startDelay" value="3000"/>  
  50.         <!-- 每隔10s执行一次 -->  
  51.         <property name="repeatInterval" value="10000"/>  
  52.     </bean>  
  53.     <!--使用简单作业详情-->  
  54.     <bean id="simpleJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">  
  55.         <!--配置简单作业的目标类-->  
  56.         <property name="targetObject" ref="mySimpleJob"/>  
  57.         <!--配置简单作业的目标方法-->  
  58.         <property name="targetMethod" value="execute"/>  
  59.         <!--false表示等上一个任务执行完后再开启新的任务-->  
  60.         <property name="concurrent" value="false"/>  
  61.     </bean>  
  62.     
  63.  </beans>  

applicationcontext.xml 配置:
[html]  view plain  copy
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!-- $Id: applicationcontext.xml $ -->  
  3. <beans xmlns="http://www.springframework.org/schema/beans"  
  4.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  5.     xmlns:aop="http://www.springframework.org/schema/aop"  
  6.     xmlns:context="http://www.springframework.org/schema/context"  
  7.     xmlns:jpa="http://www.springframework.org/schema/data/jpa"   
  8.     xmlns:mvc="http://www.springframework.org/schema/mvc"  
  9.     xmlns:tx="http://www.springframework.org/schema/tx"   
  10.     xmlns:p="http://www.springframework.org/schema/p"  
  11.     xmlns:util="http://www.springframework.org/schema/util"  
  12.     xsi:schemaLocation="http://www.springframework.org/schema/beans   
  13.     http://www.springframework.org/schema/beans/spring-beans-4.0.xsd  
  14.     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd  
  15.     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd  
  16.     http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd  
  17.     http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd  
  18.     http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">  
  19.    
  20.     <!-- spring集成  项目启动时会去扫描com.yc目录下的javaBean-->  
  21.     <context:component-scan base-package="com.yc" />  
  22.     <import resource="ediServiceContext.xml" />  
  23.     <import resource="adapterContext.xml" />  
  24.   
  25. </beans>  
其中需要新加的 jar :quartz-2.2.1.jar,slf4j-api-1.7.7.jar

猜你喜欢

转载自blog.csdn.net/weixin_41558728/article/details/80191389