spring quartz 配置90秒执行一次job??怎么配置

问题描述

spring quartz 配置90秒执行一次job??怎么配置

如题,我想配置一个每隔90秒执行一次的job,这个配置表达式该怎么写啊 ,抓狂啊!!!!

解决方案

Spring中Quartz任务调度的配置
Spring中Quartz的配置
Spring中的Quartz配置

解决方案二:

使用Cron表达式
90 * * * * ?

解决方案三:

'*' 字符可以用于所有字段,在“分”字段中设为"*"表示"每一分钟"的含义。
'?' 字符可以用在“日”和“周几”字段. 它用来指定 '不明确的值'. 这在你需要指定这两个字段中的某一个值而不是另外一个的时候会被用到。在后面的例子中可以看到其含义。
'-' 字符被用来指定一个值的范围,比如在“小时”字段中设为"10-12"表示"10点到12点".
',' 字符指定数个值。比如在“周几”字段中设为"MON,WED,FRI"表示"the days Monday, Wednesday, and Friday".
'/' 字符用来指定一个值的的增加幅度. 比如在“秒”字段中设置为"0/15"表示"第0, 15, 30, 和 45秒"。而 "5/15"则表示"第5, 20, 35, 和 50". 在'/'前加"*"字符相当于指定从0秒开始. 每个字段都有一系列可以开始或结束的数值。对于“秒”和“分”字段来说,其数值范围为0到59,对于“小时”字段来说其为0到23, 对于“日”字段来说为0到31, 而对于“月”字段来说为1到12。"/"字段仅仅只是帮助你在允许的数值范围内从开始"第n"的值。 因此对于“月”字段来说"7/6"只是表示7月被开启而不是“每六个月”, 请注意其中微妙的差别。
'L'字符可用在“日”和“周几”这两个字段。它是"last"的缩写, 但是在这两个字段中有不同的含义。例如,“日”字段中的"L"表示"一个月中的最后一天" —— 对于一月就是31号对于二月来说就是28号(非闰年)。而在“周几”字段中, 它简单的表示"7" or "SAT",但是如果在“周几”字段中使用时跟在某个数字之后, 它表示"该月最后一个星期×" —— 比如"6L"表示"该月最后一个周五"。当使用'L'选项时,指定确定的列表或者范围非常重要,否则你会被结果搞糊涂的。
'W' 可用于“日”字段。用来指定历给定日期最近的工作日(周一到周五) 。比如你将“日”字段设为"15W",意为: "离该月15号最近的工作日"。因此如果15号为周六,触发器会在14号即周五调用。如果15号为周日, 触发器会在16号也就是周一触发。如果15号为周二,那么当天就会触发。然而如果你将“日”字段设为"1W", 而一号又是周六, 触发器会于下周一也就是当月的3号触发,因为它不会越过当月的值的范围边界。'W'字符只能用于“日”字段的值为单独的一天而不是一系列值的时候。
'L'和'W'可以组合用于“日”字段表示为'LW',意为"该月最后一个工作日"。
'#' 字符可用于“周几”字段。该字符表示“该月第几个周×”,比如"6#3"表示该月第三个周五( 6表示周五而"#3"该月第三个)。再比如: "2#1" = 表示该月第一个周一而 "4#5" = 该月第五个周三。注意如果你指定"#5"该月没有第五个“周×”,该月是不会触发的。
'C' 字符可用于“日”和“周几”字段,它是"calendar"的缩写。它表示为基于相关的日历所计算出的值(如果有的话)。如果没有关联的日历, 那它等同于包含全部日历。“日”字段值为"5C"表示"日历中的第一天或者5号以后",“周几”字段值为"1C"则表示"日历中的第一天或者周日以后"。
例如 : "0 15 10 * * ?" 每天早上10:15触发
"30 * * * * ?" 每半分钟触发任务
"0 0/5 14,18 * * ?" 每天的下午2点至2:55和6点至6点55分两个时间段内每5分钟一次触发

解决方案四:

90秒执行一个cron应该实现不了,不过可以使用simpleTrigger


        String key="abc";
        Scheduler sched=new StdSchedulerFactory().getScheduler();
        JobDetailImpl jobDetail = new JobDetailImpl();
        jobDetail.setKey(JobKey.jobKey(key));
        jobDetail.setJobClass(Tmp17CronJob.class);

        SimpleTrigger t = TriggerBuilder
                .newTrigger()
                .startAt(new Date())
                .withSchedule(SimpleScheduleBuilder
                        .simpleSchedule()
                        .withIntervalInSeconds(90)
                        .repeatForever())
                .build();

        sched.scheduleJob(jobDetail, t);
        sched.start();

时间: 2024-09-10 07:10:52

spring quartz 配置90秒执行一次job??怎么配置的相关文章

cron计划任务如何每隔30秒执行一次

<cron job 里面,如何让脚本半分钟运行一次?> cron本身实现不了.但可以借助于sleep命令实现. 解决方法: 两个脚本 一个正常,一个增加sleep30 crontab设置同时启动 在有的shell(比如linux中的bash)中sleep支持睡眠(分,小时) sleep 可以用来将目前动作延迟一段时间 [sleep参数说明 :] --help : 显示辅助讯息 --version : 显示版本编号 number : 时间长度,后面可接 s.m.h 或 d 其中 s 为秒,m 为

php守护进程 加linux命令nohup实现任务每秒执行一次

Unix中 nohup 命令功能就是不挂断地运行命令,同时 nohup 把程序的所有输出到放到当前目录 nohup.out 文件中,如果文件不可写,则放到 <用户主目录>/nohup.out 文件中.那么有了这个命令以后我们php就写成shell 脚本使用循环来让我们脚本一直运行下去,不管我们终端窗口是否关闭都能够让我们php 脚本一直运行下去. 马上动手写个 PHP 小程序,功能为每30秒记录时间,写入到文件 复制代码 代码如下: # vi for_ever.php #! /usr/loca

Spring项目实例—项目启动后执行一次

1.实现接口ApplicationListener 2.重写方法onApplicationEvent(ContextRefreshedEvent event) 3.在web 项目中(spring mvc),系统会存在两个容器,一个是root application context ,另一个就是我们自己的 projectName-servlet context(作为root application context的子容器). 这种情况下,就会造成onApplicationEvent方法被执行两次.

quartz实现定时功能实例详解(servlet定时器配置方法)_java

Quartz是一个完全由java编写的开源作业调度框架,具体的介绍可到http://www.opensymphony.com/quartz/官方网站查看. Quartz的几个核心的接口和类为: Job接口:自己写的"定时程序"实现此接口的void execute(JobExecutionContext arg0)方法,Job还有一类为有状态的StatefulJob接口,如果我们需要在上一个作业执行完后,根据其执行结果再进行下次作业的执行,则需要实现此接口.Trigger抽象类:调度类(

spring quartz定时器问题

问题描述 rt,我现在要做订单超时,总不能为每个订单新启动一个定时器吧,这么会不会太浪费资源了? 解决方案 解决方案二:引用楼主qq826654664jx的回复: rt,我现在要做订单超时,总不能为每个订单新启动一个定时器吧,这么会不会太浪费资源了? 写一个定时器,每隔几分钟或几秒执行一次,专门处理订单超时的.解决方案三:起一个线程,异步做解决方案四:引用楼主qq826654664jx的回复: rt,我现在要做订单超时,总不能为每个订单新启动一个定时器吧,这么会不会太浪费资源了? 每几秒钟查询一

cron-QuartZ Cron表达式 指定只执行一次。比如 2016年3月3日0点0分0秒 如何实现

问题描述 QuartZ Cron表达式 指定只执行一次.比如 2016年3月3日0点0分0秒 如何实现 QuartZ Cron表达式 貌似指定不了 某一天这一辈子执行1次那种 解决方案 你只要设置了具体日期应该就只会执行一次 0 0 0 3 3 ? 2016 至于星期几就不需要管了. 解决方案二: 楼上正解,管日不管周,管周不管日,如果日和周都写上具体值就可能会解释不通.比如:到底是星期2的1号,还是1号的星期2. 只要记住,假如你为这两域的其中一个指定了值,那就必须在另一个字值上放一个 ?,意

【spring+quartz框架】scheduler.reschedulejob后执行了多次

问题描述 [spring+quartz框架]scheduler.reschedulejob后执行了多次 关于spring+quartz框架配置多线程调度任务,小弟有一事一直没搞明白 一.quartz.properties中配置: #=============================================================== #Configure Main Scheduler Properties #================================

最流行的java后台框架spring quartz定时任务_java

配置quartz 在spring中需要三个jar包: quartz-1.8.5.jar.commons-collections-3.2.1.jar.commons-logging-1.1.jar 首先要配置我们的spring.xml xmlns 多加下面的内容. xmlns:task="http://www.springframework.org/schema/task"  然后xsi:schemaLocation多加下面的内容. http://www.springframework.

spring quartz分布式任务计划

spring quartz分布式任务计划 环境: 通过maven管理的spring mvc工程,且已经成功连接数据库. 数据库表结构 /*Table structure for table `qrtz_calendars` */ DROP TABLE IF EXISTS `qrtz_calendars`; CREATE TABLE `qrtz_calendars` ( `SCHED_NAME` varchar(120) NOT NULL, `CALENDAR_NAME` varchar(200)