当前位置: 首页 > news >正文

网站建设丨下拉找金手指信誉宣传软文模板

网站建设丨下拉找金手指信誉,宣传软文模板,企业网站建设项目计划书,app 快速开发平台QUARTZ 石英框架 1.Quartz的概念 Quartz就是一个基于Java实现的任务调度框架,用于执行你想要执行的任何任务。 Quartz是OpenSymphony开源组织在Job scheduling(定时调度)领域的开源项目,它可以与J2EE和J2SE应用程序相结合也可以…

QUARTZ 石英框架

1.Quartz的概念

Quartz就是一个基于Java实现的任务调度框架,用于执行你想要执行的任何任务。
Quartz是OpenSymphony开源组织在Job scheduling(定时调度)领域的开源项目,它可以与J2EE和J2SE应用程序相结合也可以单独使用。

Quartz是开源且具有丰富特性的任务调度库,能够集成任何的Java应用。它能创建简单的或者复杂的调度任务,以执行上十,上百,上千,上万的任务。任务job被定义为标准的Java组件。能工执行任何你想要实现的功能。Quartz调度框架包含许多企业级的特性,如JTA事务,集群的支持。

官网:

Quartz对任务调度进行了高度抽象,提出了三个核心概念,并在org.quartz包中提供接口和类进行了描述

Quartz框架核心概念

  1. 任务:就是执行的工作内容,Quartz提供Job接口来支持任务定义
  2. 触发器:定义触发器Job执行的时间触发规则,Quartz提供Trigger类及其子类支持触发器功能
  3. 调度器:Quartz提供了Scheduler接口,将工作任务和触发器绑定,保证任务可以在正确的时间执行

Maven中Java项目搭建

第一步

引入依赖包

<!-- java 项目是这个版本呢 --><dependency><groupId>opensymphony</groupId><artifactId>quartz-all</artifactId><version>1.6.3</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.36</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.1</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency>

第二步 定时任务

/*** 创建任务    实现Job*/
public class MyJob implements Job {//核心方法@Overridepublic void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {System.out.println("我正在吃东西");}
}

Quartz中的触发器类型:SimpleTrigger和CronTrigger

测试1

/*** 创建SimpleTrigger触发器 测试启动*/
public class SimpleTrigger_Test {public static void main(String[] args) {// TODO: SimpleTrigger 执行的操作try{//1.定义任务对象                  名字                分组名        任务类JobDetail job = new JobDetail("MyJob","2085group", MyJob.class);//2.创建SimpleTrigger触发器                       名字            分组名字      类型                               时间SimpleTrigger trigger = new SimpleTrigger("Mytr","2085trigger",SimpleTrigger.REPEAT_INDEFINITELY,3000);//3.创建调度器SchedulerFactory factory = new StdSchedulerFactory();Scheduler scheduler = factory.getScheduler();//注册               任务对象  触发器scheduler.scheduleJob(job, trigger);//4.启动调度器scheduler.start();}catch (Exception e){e.printStackTrace();}}
}

测试2


/*** 使用CronTrigger  表达式由6~7位元素组成*/
public class CronTrigger_Test {public static void main(String[] args) {//TODO: CronTrigger 执行的操作try{//1.定义任务对象JobDetail job = new JobDetail("MyJob","2085group",MyJob.class);//2.创建SimpleTrigger触发器// 6位表达式   7位  第七位就是当前的年份,可以不屑// 弄一个 5-16日 14.40 不指定 2022年 执行CronTrigger trigger = new CronTrigger("MyJobtrg","2085trigger","0 40 14 16 5 ? 2022");//3.创建调度器SchedulerFactory factory = new StdSchedulerFactory();Scheduler scheduler = factory.getScheduler();//注册scheduler.scheduleJob(job, trigger);//4.启动调度器scheduler.start();}catch (Exception e){e.printStackTrace();}}
}

//TODO: 这个是提示是谁的

1. SimpleTrigger:定义间隔多长时间触发

2. CronTrigger:定义特定时间节点触发

  1. 要使用CronTrigger,必须掌握Cron表达式

    Cron表达式由6~7个由空格的时间元素组成。第七个元素是可选参数

Cron表达式位置的含义
  1.    		分钟
    
  1.    		小时
    
  1.    		月份中的那一天
    
  1.    		月份
    
  1.    		星期几
    
  1.    		年份
    
位置字段含义范围允许的特殊字符
10~59* /
2分钟0~59* /
3小时0~23* /
4月份中的哪一天0~31* / ? L
5月份1~12 或 JAN~DEC* /
6星期几1~7 或 SUN~SAT* / ? L #
7年份1970~2099* /

Cron表达式的每个字段,都可以显示地规定一个值(如果 49)、一个范围(如 1-6)、一个列表(如1,3,5)或者一个通配符 (如 *)

Cron表达式有几个特殊的字符
  • " - ":中划线,表示在一个范围
  • " ,": 使用逗号间隔的数据,表示一个列表
  • " * ":表示每一个值,它可以用于所有字段。例如:在小时字段表示每一个小时
  • " ? " 该字符仅用于 ”月份中的那一天“ 字段和 ”星期几“ 字段, 表示不指定值
  • " / ":通常表示位x/y, x为起始值,y表示值的增量。
  • " L":表示最后一天,仅在日期和星期字段使用
  • " # ":只能用于 ”星期几“ 字段,表示这个月的第几个周几。例如:”6#3“ 指这个月第三个周五

Spring 整合

配置任务

  1. 配置任务
  2. 配置触发器
  3. 配置调度器

SpringBoot 整合

第一步 导入Maven坐标

 	<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-tx</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-expression</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-oxm</artifactId><version>4.3.18.RELEASE</version></dependency><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--quartz石英框架--><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.3.2</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.32</version></dependency><dependency><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.1</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>1.3.2</version></dependency><dependency><groupId>commons-logging</groupId><artifactId>commons-logging</artifactId><version>1.2</version></dependency>

第二部 applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">
<!--配置任务--><bean id="task" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"><property name="jobClass" value="com.spring_quartz.MyJob"></property></bean>
<!--配置触发器--><bean id="trigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"><property name="jobDetail" ref="task"/><property name="repeatInterval" value="3000"/></bean><!--配置调度器--><bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><list><ref bean="trigger"></ref></list></property></bean>
</beans>

第三步 创建任务类

//任务类    继承QuartzJobBean
public class MyJob extends QuartzJobBean {@Override//核心方法protected void executeInternal(JobExecutionContext context) throws JobExecutionException {System.out.println("~~~妈妈喊我回家吃月饼");}
}

第四步 启动测试

public class test {public static void main(String[] args) {new ClassPathXmlApplicationContext("applicationContext.xml");}
}
http://www.ds6.com.cn/news/102704.html

相关文章:

  • 天气预报网站怎么做合肥网站排名推广
  • aspcms自适应网站粤语seo是什么意思
  • 常州网站建设企业网站百度有哪些产品
  • 2021能看的网站不要app贴吧app开发教程
  • mui做浏览器网站跳转百度推广工具有哪些
  • 南宁京象建站公司新闻头条最新消息今天发布
  • 公司建网站要多少钱百度提交网站入口
  • 网站建设和考核工作通知凡科小程序
  • 选择合肥网站建设完整的品牌推广方案
  • 陕西网站建设价格上海公司网站seo
  • 成都网络推广运营seo优化的主要任务
  • 速成网站怎么做优化网站性能
  • 四川网站建设找珊瑚云seo课程哪个好
  • 网站seo 优化网站优化排名易下拉软件
  • 做网站需要找什么客户百度竞价排名收费标准
  • 太原哪家网站建设公司好市场营销案例
  • 为传销做网站营销型网站定制
  • 合肥教育平台网站建设有什么好用的搜索引擎
  • 青海网站建设如何进行seo
  • 做网站的团队seo综合诊断工具
  • 小县城做网站谷歌排名优化
  • 做网站的公司怎么做抖音账号广州网站建设系统
  • web网站开发毕设网站建站推广
  • 手机上有趣的网站全国疫情最新情况最新消息今天
  • 创建一个自己的网站的步骤如何在百度发布文章
  • 北京网站制作多少钱企业网站建设价格
  • 网站开发网站设计的标准广州网站优化系统
  • 东莞深圳网站建设销售营销方案100例
  • 大连建设网网址郑州seo联系搜点网络效果好
  • wap网站搜索山东百度推广总代理