java web 配置spring的定时任务

8 篇文章 0 订阅

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

MyJob.java:

package com.yc.job;
import java.util.Date;
import com.yc.utils.DateUtil;
/**@ClassName: MyJob
 * @Description:不用继承Quartz的Job接口 
 * @author: 
 * @date:
 */ 
public class MyJob { 
	public void execute() { 
		System.out.println("Quartz Spring XML 配置 - MyJob:"+DateUtil.format(new Date(), DateUtil.dmy_hms));
	} 
}

MyJobDetail.java:
package com.yc.job;
import java.util.Date;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import com.yc.utils.DateUtil;
/**
 * 
 * 
 * @ClassName: MyJobDetail
 * 
 * @Description: 配置文件中使用JobDetailBean,需要继承QuartzJobBean
 * 
 * @author:
 * 
 * @date:
 */
public class MyJobDetail extends QuartzJobBean{
	protected void executeInternal(JobExecutionContext arg0)
			throws JobExecutionException {
		System.out.println("Spring 集成 Quartz 的第二种方式:"+DateUtil.format(new Date(), DateUtil.dmy_hms));
	}
}

MySimpleJob.java:
package com.yc.job;
import java.util.Date;
import org.springframework.stereotype.Component;
import com.yc.utils.DateUtil;
/**
 * 简单任务
 */
@Component("mySimpleJob")
public class MySimpleJob {
    public void execute() {
        System.out.println("Quartz Spring XML 简单任务- MySimpleJob:"+DateUtil.format(new Date(), DateUtil.dmy_hms));
    }
}

ediServiceContext.xml 新建配置:
<?xml version="1.0" encoding="UTF-8"?> 
<!-- $Id: ediServiceContext.xml $ -->
<beans xmlns="http://www.springframework.org/schema/beans" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	 <!-- 配置Job类 --> 
	 <bean id="myJob" class="com.yc.job.MyJob">
	 </bean>
	 <!-- 配置JobDetail -->
     <bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
        <property name="jobClass" value="com.yc.job.MyJobDetail"></property>
        <property name="durability" value="true"></property>
    </bean>
 </beans>

adapterContext.xml 新建配置:
<?xml version="1.0" encoding="UTF-8"?> 
<!-- $Id: adapterContext.xml $ -->
<beans xmlns="http://www.springframework.org/schema/beans" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
    <!-- 配置调度工厂 --> 
  <!-- lazy-init=’false’,则容器启动时就会执行调度程序;
     lazy-init=’true’,则需要实例化该bean才能执行调度程序 -->
  <bean id="springJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="true"> 
   <property name="triggers"> 
    <list> 
     <ref bean="cronTriggerFactoryBean"></ref> 
     <ref bean="quartzJobBean"></ref>
     <ref bean="simpleTrigger"/>
    </list> 
   </property> 
  </bean> 
    
  <!-- 1,CronTrigger 配置调度任务 -->
  <!-- 配置JobDetail --> 
  <bean id="springQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
   <!-- 执行目标job --> 
   <property name="targetObject" ref="myJob"></property> 
   <!-- 要执行的方法 --> 
   <property name="targetMethod" value="execute"></property> 
  </bean> 
  <!-- 配置tirgger触发器 --> 
  <bean id="cronTriggerFactoryBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 
   <!-- jobDetail --> 
   <property name="jobDetail" ref="springQtzJobMethod"></property> 
   <!-- cron表达式,执行时间 每5秒执行一次 --> 
   <property name="cronExpression" value="0/5 * * * * ?"></property> 
  </bean> 
  
  <!-- 2,QuartzJobBean 配置调度任务 -->
  <!-- 配置quartzJob触发器 -->
    <bean id="quartzJobBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <!-- jobDetail -->
        <property name="jobDetail" ref="jobDetail"></property>
        <!-- cron表达式,执行时间  每5秒执行一次 -->
        <property name="cronExpression" value="0/5 * * * * ?"></property>
    </bean>
  
  
  <!--3,配置简单触发器-->
    <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
        <property name="jobDetail" ref="simpleJobDetail"/>
        <!-- 延迟3s执行 -->
        <property name="startDelay" value="3000"/>
        <!-- 每隔10s执行一次 -->
        <property name="repeatInterval" value="10000"/>
    </bean>
    <!--使用简单作业详情-->
    <bean id="simpleJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!--配置简单作业的目标类-->
        <property name="targetObject" ref="mySimpleJob"/>
        <!--配置简单作业的目标方法-->
        <property name="targetMethod" value="execute"/>
        <!--false表示等上一个任务执行完后再开启新的任务-->
        <property name="concurrent" value="false"/>
    </bean>
  
 </beans>

applicationcontext.xml 配置:
<?xml version="1.0" encoding="UTF-8"?>
<!-- $Id: applicationcontext.xml $ -->
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:jpa="http://www.springframework.org/schema/data/jpa" 
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
    http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
 
    <!-- spring集成  项目启动时会去扫描com.yc目录下的javaBean-->
    <context:component-scan base-package="com.yc" />
    <import resource="ediServiceContext.xml" />
	<import resource="adapterContext.xml" />

</beans>
其中需要新加的 jar:quartz-2.2.1.jar,slf4j-api-1.7.7.jar
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

woshimyc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值