javarepeatinterval的简单介绍

本篇文章给大家谈谈javarepeatinterval,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

1、如何编写一个定时调度java程序2、求助:Java spring quartz 异常: Context initialization failed3、java如何根据设定的时间 动态开启定时器4、用java的Quartz包定时调用方法,我想实现每隔一个半小时调用一次方法, 请问Corn表达式怎么写?

如何编写一个定时调度java程序

目前有两种流行Spring定时器配置:Java的Timer类和OpenSymphony的Quartz。

1.Java Timer定时

首先继承java.util.TimerTask类实现run方法

import java.util.TimerTask;

public class EmailReportTask extends TimerTask{

@Override

public void run() {

}

}

在Spring定义

配置Spring定时器

bean id=”scheduleReportTask” class=”org.springframework.scheduling.timer.ScheduledTimerTask”

property name=”timerTask” ref=”reportTimerTask” /

property name=”period”

value86400000value

property

bean

timerTask属性告诉ScheduledTimerTask运行哪个。86400000代表24个小时

启动Spring定时器

Spring的TimerFactoryBean负责启动定时任务

bean class=”org.springframework.scheduling.timer.TimerFactoryBean”

property name=”scheduledTimerTasks”

listref bean=”scheduleReportTask”/list

property

bean

scheduledTimerTasks里显示一个需要启动的定时器任务的列表。

可以通过设置delay属性延迟启动

bean id=”scheduleReportTask” class=”org.springframework.scheduling.timer.ScheduledTimerTask”

property name=”timerTask” ref=”reportTimerTask” /

property name=”period”

value86400000value

property

property name=”delay”

value3600000value

property

bean

这个任务我们只能规定每隔24小时运行一次,无法精确到某时启动

2.Quartz定时器

首先继承QuartzJobBean类实现executeInternal方法

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;

public class EmailReportJob extends QuartzJobBean{

protected void executeInternal(JobExecutionContext arg0)

throws JobExecutionException {

}

}

在Spring中定义

bean id=”reportJob” class=”org.springframework.scheduling.quartz.JobDetailBean”

property name=”jobClass”

valueEmailReportJobvalue

property

property name=”jobDataAsMap”

map

entry key=”courseService”

ref bean=”courseService”/

entry

map

property

bean

在这里我们并没有直接声明一个EmailReportJob Bean,而是声明了一个JobDetailBean。这个是Quartz的特点。JobDetailBean是Quartz的org.quartz.JobDetail的子类,它要求通过jobClass属性来设置一个Job对象。

使用Quartz的JobDetail中的另一个特别之处是EmailReportJob的courseService属性是间接设置的。JobDetail的jobDataAsMap属性接受一个Map,包括设置给jobClass的各种属性,当。JobDetailBean实例化时,它会将courseService Bean注入到EmailReportJob 的courseService 属性中。

启动定时器

Quartz的org.quartz.Trigger类描述了何时及以怎样的频度运行一个Quartz工作。Spring提供了两个触发器SimpleTriggerBean和CronTriggerBean。

SimpleTriggerBean与scheduledTimerTasks类似。指定工作的执行频度,模仿scheduledTimerTasks配置 .

bean id=”simpleReportTrigger” class=”org.springframework.scheduling.quartz.SimpleTriggerBean”

property name=”jobDetail” ref=”reprotJob” /

property name=”startDelay”

value360000value

property

property name=”repeatInterval”

value86400000value

property

bean

startDelay也是延迟1个小时启动

CronTriggerBean指定工作的准确运行时间

bean id=”cronReportTrigger” class=”org.springframework.scheduling.quartz.CronTriggerBean”

property name=”jobDetail” ref=”reprotJob” /

property name=”cronExpression”

value0 0 6 * * ?value

property

bean

属性cronExpression告诉何时触发。最神秘就是cron表达式:

Linux系统的计划任务通常有cron来承担。一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。从左到右:

1.秒2.分3.小时4.月份中的日期(1-31)5.月份(1-12或JAN-DEC)6.星期中的日期(1-7或SUN-SAT)7.年份(1970-2099)

每个元素都显示的规定一个值(如6),一个区间(9-12),一个列表(9,11,13)或一个通配符(*)。因为4和6这两个元素是互斥的,因此应该通过设置一个问号(?)来表明不想设置的那个字段,“/”如果值组合就表示重复次数(10/6表示每10秒重复6次)。

启动定时器

bean class=”org.springframework.scheduling.quartz.SchedulerFactoryBean”

property name=”triggers”

listref bean=”cronReportTrigger”/list

property

bean

triggers属性接受一组触发器。

求助:Java spring quartz 异常: Context initialization failed

——————————————–

看下面这段错误信息,意思很明显啊,就是targetObject引用的QuartzTask没有定义,将QuartzTask这个bean定义一下就可以了。还有问题的话就直接百度HI我好了。

Cannot resolve reference to bean ‘QuartzTask’ while setting bean property ‘targetObject’; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named ‘QuartzTask’ is defined

——————————————————

javarepeatinterval的简单介绍

java如何根据设定的时间 动态开启定时器

beans xmlns=”” xmlns:xsi=””

xsi:schemaLocation=”

!– 调度工厂 —

bean class=”org.springframework.scheduling.quartz.SchedulerFactoryBean”

autowire=”no”

property name=”triggers”

list

ref bean=”simpletriggerbean” /

ref bean=”cronTriggerBean” /

/list

/property

/bean

bean id=”jmsQueueService” class=”com.lehecai.push.service.JMSQueueService”

property name=”jmsTemplate” ref=”jmsTemplate” /

/bean

!– 方式一 —

bean id=”quantzjobBean” class=”org.springframework.scheduling.quartz.JobDetailBean”

property name=”jobClass”

valuecom.lehecai.push.timer.PushTaskJobBean/value

/property

property name=”jobDataAsMap”

map

entry key=”jmsQueueService” value-ref=”jmsQueueService” /

entry key=”pushTaskDao” value-ref=”pushTaskService” /

entry key=”pushTaskDeviceDao” value-ref=”pushTaskDeviceService” /

/map

/property

/bean

bean id=”simpletriggerbean” class=”org.springframework.scheduling.quartz.SimpleTriggerBean”

property name=”jobDetail” ref=”quantzjobBean” /

property name=”startDelay” value=”3000″ /

property name=”repeatInterval” value=”10000″ /

!–

property name=”repeatCount” value=”-1″ /

/bean

bean id=”springQtzJobMethod”

class=”org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean”

property name=”targetObject”

bean class=”com.lehecai.push.service.EtlToolService” /

/property

property name=”targetMethod”

valueexecuteTask/value

/property

/bean

bean id=”cronTriggerBean” class=”org.springframework.scheduling.quartz.CronTriggerBean”

property name=”jobDetail” ref=”springQtzJobMethod”/property

property name=”cronExpression” value=”0 0 4,17 * * ?”/property

/bean

/beans

两种办法哪种都行,关键字都在上边了。

用java的Quartz包定时调用方法,我想实现每隔一个半小时调用一次方法, 请问Corn表达式怎么写?

结合spring框架写的

bean id=”cronTriggerPay” 

 class=”org.springframework.scheduling.quartz.CronTriggerBean”

 property name=”jobDetail”

  !– 使用嵌套Bean的方式来定义任务Bean —

  bean 

  class=”org.springframework.scheduling.quartz.JobDetailBean”

  !– 指定任务Bean的实现类 —

   property name=”jobClass”

    value=”org.seu.yto.schedule.PayJob”/

   !– 为任务Bean注入属性 —

   property name=”jobDataAsMap”

    map

     entry key=”empMgr” value-ref=”empManager”/

    /map

   /property

  /bean

 /property

 !– 指定Cron表达式:每月1日6点启动 —

 property name=”cronExpression” value=”0 0 6 1 * ? *”/

/bean

!– 定义触发器来管理任务Bean —

bean id=”cronTriggerPunch” 

 class=”org.springframework.scheduling.quartz.CronTriggerBean”

 property name=”jobDetail”

  !– 使用嵌套Bean的方式来定义任务Bean —

  bean

  class=”org.springframework.scheduling.quartz.JobDetailBean”

   !– 指定任务Bean的实现类 —

   property name=”jobClass” 

    value=”org.seu.yto.schedule.PunchJob”/

   !– 为任务Bean注入属性 —

   property name=”jobDataAsMap”

    map

     entry key=”empMgr” value-ref=”empManager”/

    /map

   /property

  /bean

 /property

 !– 指定Cron表达式:周一到周五8点、12点执行调度 —

 property name=”cronExpression” 

  value=”0 0 8,12 ? * MON-FRI”/

/bean

!– 执行实际的调度调度 —

bean 

class=”org.springframework.scheduling.quartz.SchedulerFactoryBean”

 property name=”triggers”

  list

   ref local=”cronTriggerPay”/

   ref local=”cronTriggerPunch”/

  /list

 /property

/bean

javarepeatinterval的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、javarepeatinterval的信息别忘了在本站进行查找喔。

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年4月3日 05:38:31
下一篇 2024年4月3日 05:46:48

相关推荐

  • c语言mallloc使用的简单介绍

    C语言中使用malloc必须加#includemallo.h? 1、在C语言中使用malloc函数进行动态内存分配。malloc的全称是memory allocation,中文叫动态内存分配。原型:extern void malloc(unsigned int num_bytes);功能:分配长度为num_bytes字节的内存块。 2、你可以看一下C语言那本…

    2024年5月23日
    4500
  • javascriptcanvas的简单介绍

    如何使用js在画布上绘制图形 1、可以使用 drawImage()方法把一幅图像绘制到画布上。 以使用三种不同的参数组合。最简单的调用方式是传入一个 HTML 元素,以及绘制该图像的起点的 x 和 y 坐标。 2、效果图:使用JavaScript在画布中绘制文本图形首先我们来看看要在画布上绘制文本图形,需要用到的最重要的属性和方法:font属性:定义文本的字…

    2024年5月23日
    4200
  • cortexm4linux的简单介绍

    Cortex-M4的主要功能 Cortex-M4提供了无可比拟的功能,以将[1] 32位控制与领先的数字信号处理技术集成来满足需要很高能效级别的市场。 Cortex-M4核心具有浮点单元(FPU)单精度,支持所有Arm单精度数据处理指令和数据类型。它还实现了一套完整的DSP指令和一个提高应用程序安全性的内存保护单元(MPU)。 主要是m4比m3多了dsp的支…

    2024年5月23日
    4400
  • 3desjavaphp的简单介绍

    php的3des加密结果与java不一致 他们的加密算法都是通用的,是可以解开的,只要你des的模式,加密长度,初始向量什么的都一样就可以。 JAVA写RSA加密,私钥都是一样的,公钥每次加密的结果不一样跟对数据的padding(填充)有关。Padding(填充)属性定义元素边框与元素内容之间的空间。padding简写属性在一个声明中设置所有内边距属性。 要…

    2024年5月23日
    4900
  • 黑客代码软件学习推荐歌曲的简单介绍

    我想自学编程代码,,目地是“黑”网站,开发出破解代码。有没有这方面的… 这个迭代周期不应该以周为周期或以月为周期发生,而是应该以日为周期。知识等待使用的时间越久,知识这把斧头就越钝。等待学习新知识的时间越长,你就越难以将其融入到代码中。 我认为这个问题问得本身就显得有点矛盾,想学却担心自己看不懂代码学不来,试问哪个编程人员不是从零开始的。坚定信念…

    2024年5月23日
    4800
  • java8种基本类型范围的简单介绍

    java中常用的数据类型有哪些 1、java数据类型分为基本数据类型和引用数据类型,基本数据类型有boolean 、long 、int 、char、byte、short、double、float。引用数据类型有类类型、接口类型和数组类型。 2、java中包含的基本数据类型介绍:\x0d\x0aJava共支持8种内置数据类型。内置类型由Java语言预先定义好,…

    2024年5月23日
    4900
  • linux系统与gpt的关系的简单介绍

    linux下查看分区是不是gpt 看分区会报错,比如:WARNING: GPT (GUID Partition Table) detected on /dev/sda! The util fdisk doesnt support GPT. Use GNU Parted.所以这个sda就是gpt的。 选择“管理”;在“磁盘管理”中,右键“磁盘0”,在弹出的右键…

    2024年5月23日
    5400
  • 北京黑客学习培训的简单介绍

    现在学什么好啊 包括建筑设计、服装设计、珠宝首饰设计等,选择适合自己的设计专业,好好学习,就业容易且收入高。学前教育专业:很多女生喜欢小孩子,且女生一般细心且有耐心,教育行业假期宽裕,工作环境单纯,就业机会多。 现在比较热门好就业的专业有人工智能、机械专业、电子商务专业、人力资源专业、金融学专业、小语种类专业等等。人工智能:人工智能领域的研究包括机器人、语言…

    2024年5月23日
    4200
  • javaee要学那些东西的简单介绍

    java主要学习哪些内容 1、学java最重要的是下面四个内容:掌握Java语言的使用:语言语法、程序逻辑,OOP(面向对象)思想,封装、继承、多态,集合框架、泛型、File I\O技术,多线程技术、socket网络编程,XML技术。 2、Java基础:了解Java的基本语法、数据类型、控制流程、数组、字符串等基础概念。学习面向对象编程(OOP)的原则和概念…

    2024年5月23日
    4300
  • excel自杀的简单介绍

    excel表格中宏代码,具有自杀功能,密码输入错误3次就自动删除表格_百度… 我给楼主一个建议,利用excel自身的密码保护,保护此工作簿的结构,将sheet提前隐藏。这样如果有人将同一份excel打开时,如果不能输入正确的密码,就不能将sheet取消隐藏,就能达到楼主所说的保护了。 如果你还有源文件的话,可以这样试试:打开其他的excel文件,…

    2024年5月23日
    8100

发表回复

登录后才能评论



关注微信