如何做好一个购物网站,怎样用代码建设一个网站,网易企业邮箱客户端下载,wordpress 侧边悬浮窗文章目录一、实现思路二、第一种实现方式2.1. 新建web项目2.2. 导入依赖2.3. 创建一个job类2.4. 创建配置文件2.5. 配置web.xml2.6.运行web服务#xff0c;观察Quartz定时任务三、第二种实现方式3.1. 创建job类3.2. 修改spring-config.xml3.3. 运行web服务#xff0c;观察Qua…
文章目录一、实现思路二、第一种实现方式2.1. 新建web项目2.2. 导入依赖2.3. 创建一个job类2.4. 创建配置文件2.5. 配置web.xml2.6.运行web服务观察Quartz定时任务三、第二种实现方式3.1. 创建job类3.2. 修改spring-config.xml3.3. 运行web服务观察Quartz定时任务四、 附上配置文件内容一、实现思路
1.新建web项目
2.导入依赖
3.配置web.xml实现方式有2种
第一种
1.新建job类继承抽象类重写executeInternal方法
2.在配置文件中配置jobDetail1属性
3.配置trigger并配置trigger对应的JobDetail
4.将trigger注册到schedule中
5.运行web服务观察Quartz定时任务注
配置jobDetail1属性用的是 org.springframework.scheduling.quartz.JobDetailFactoryBean第二种
1.新建job类 自定义方法
2.在配置文件中配置jobDetail1属性
3.配置trigger并配置trigger对应的JobDetail
4.将trigger注册到schedule中
5.运行web服务观察Quartz定时任务注
配置jobDetail1属性用的是org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean再说一下trigger配置方式有2种
第一种简单配置
org.springframework.scheduling.quartz.SimpleTriggerFactoryBean第二种简单配置
org.springframework.scheduling.quartz.CronTriggerFactoryBean实现方式推荐使用第二种因为比较灵活
trigger配置方式推荐使用第二种二、第一种实现方式
2.1. 新建web项目 2.2. 导入依赖
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersiongroupIdorg.example/groupIdartifactIdspring-quartz/artifactIdversion1.0-SNAPSHOT/versionpackagingwar/packagingnamespring-quartz/nameurlhttp://www.gblfy.com/urlpropertiesproject.build.sourceEncodingUTF-8/project.build.sourceEncodingmaven.compiler.source11/maven.compiler.sourcemaven.compiler.target11/maven.compiler.targetspring.version5.2.8.RELEASE/spring.version/propertiesdependencies!--spring 相关依赖 start--dependencygroupIdorg.springframework/groupIdartifactIdspring-context/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-web/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-context-support/artifactIdversion${spring.version}/version/dependencydependencygroupIdorg.springframework/groupIdartifactIdspring-tx/artifactIdversion${spring.version}/version/dependency!--spring 相关依赖 end--!--quartz 依赖--dependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion2.3.1/version/dependency/dependenciesbuildfinalNamespring-quartz/finalNamepluginsplugingroupIdorg.apache.tomcat.maven/groupIdartifactIdtomcat7-maven-plugin/artifactIdversion2.2/versionexecutionsexecutionidtomcat-run/idgoalsgoalexec-war-only/goal/goalsphasepackage/phaseconfigurationpath//path/configuration/execution/executions/plugin/plugins/build
/project2.3. 创建一个job类
使用JobDetailFactoryBean 继承QuartzJobBean抽象类
package com.gblfy.job;import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;
import java.time.LocalTime;/*** 第1种 实现方式*/
public class MyJob extends QuartzJobBean {Overrideprotected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {LocalTime localTime LocalTime.now();System.out.println(我MyJob正在执行localTime.toString());}
}2.4. 创建配置文件
spring-config.xml
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!--第1种--bean idjobDetail1 classorg.springframework.scheduling.quartz.JobDetailFactoryBeanproperty namejobClass valuecom.gblfy.job.MyJob/property namename valuemyJob1/property namegroup valuegroup1//bean!--触发器1--bean idtigger1 classorg.springframework.scheduling.quartz.SimpleTriggerFactoryBeanproperty namejobDetail refjobDetail1/property namename valuetigger1/property namegroup valuegroup1/property namerepeatInterval value5000//bean!--将触发器注册到 schedule--bean idschedule classorg.springframework.scheduling.quartz.SchedulerFactoryBeanproperty nametriggerslistref beantigger1//list/property/bean
/beans2.5. 配置web.xml
!DOCTYPE web-app PUBLIC-//Sun Microsystems, Inc.//DTD Web Application 2.3//ENhttp://java.sun.com/dtd/web-app_2_3.dtd web-appdisplay-nameArchetype Created Web Application/display-namecontext-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath*:spring-config.xml/param-value/context-paramlistenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class/listener
/web-app2.6.运行web服务观察Quartz定时任务 三、第二种实现方式
在第一种实现方式的基础上修改第3和4步即可
3.1. 创建job类
使用MethodInvikingJobDetailFactoryBean(比较灵活) 创建job类
package com.gblfy.job;import java.time.LocalTime;/*** 第2种 实现方式*/
public class MyJob2 {/*** property nametargetObject refmyJob2/*/public void excute() {LocalTime localTime LocalTime.now();System.out.println(我MyJob2正在执行 localTime.toString());}/*** property nametargetClass valuecom.gblfy.job.MyJob2/*/
// public static void excute() {
// LocalTime localTime LocalTime.now();
// System.out.println(我MyJob2正在执行 localTime.toString());
// }
}3.2. 修改spring-config.xml
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!--第2种--bean idmyJob2 classcom.gblfy.job.MyJob2/beanbean idjobDetail2 classorg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBeanproperty namename valuemyJob2/property namegroup valuegroup1/property nametargetObject refmyJob2/property nametargetMethod valueexcute//bean!--触发器2--bean idtigger2 classorg.springframework.scheduling.quartz.CronTriggerFactoryBeanproperty namejobDetail refjobDetail2/property namename valuetigger2/property namegroup valuegroup1/property namecronExpression value0/8 * * * * ?//bean!--将触发器注册到 schedule--bean idschedule classorg.springframework.scheduling.quartz.SchedulerFactoryBeanproperty nametriggerslistref beantigger2//list/property/bean
/beans3.3. 运行web服务观察Quartz定时任务 四、 附上配置文件内容
?xml version1.0 encodingUTF-8?
beans xmlnshttp://www.springframework.org/schema/beansxmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd!--第1种--bean idjobDetail1 classorg.springframework.scheduling.quartz.JobDetailFactoryBean!--指定执行的job类--property namejobClass valuecom.gblfy.job.MyJob/!--下面2个属性拼在一起 指定执行job唯一标识可以理解为哪个组的哪个任务--property namename valuemyJob1/property namegroup valuegroup1//bean!--第2种--bean idmyJob2 classcom.gblfy.job.MyJob2/beanbean idjobDetail2 classorg.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean!--下面2个属性拼在一起 指定执行job唯一标识可以理解为哪个组的哪个任务--property namename valuemyJob2/property namegroup valuegroup1/!--指定执行的job的类--property nametargetObject refmyJob2/!--如果执行的job类中的方法为静态简言之static 修饰excute方法 使用--!-- property nametargetClass valuecom.gblfy.job.MyJob2/--!--指定执行的job的类中的方法 非静态--property nametargetMethod valueexcute//bean!--触发器1--bean idtigger1 classorg.springframework.scheduling.quartz.SimpleTriggerFactoryBean!--配置jobDetail 属性信息--property namejobDetail refjobDetail1/!--指定触发器--property namename valuetigger1/!--指定组信息 --property namegroup valuegroup1/!--触发规则 间隔5秒执行一次--property namerepeatInterval value5000//bean!--触发器2--bean idtigger2 classorg.springframework.scheduling.quartz.CronTriggerFactoryBean!--配置jobDetail 属性信息--property namejobDetail refjobDetail2/!--指定触发器--property namename valuetigger2/!--组信息 --property namegroup valuegroup1/!--触发规则 间隔8秒执行一次--property namecronExpression value0/8 * * * * ?//bean!--将触发器注册到 schedule--bean idschedule classorg.springframework.scheduling.quartz.SchedulerFactoryBeanproperty nametriggerslist!--配置触发器 列表--ref beantigger1/ref beantigger2//list/property/bean
/beans