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>