quartz怎么配置.quartz cron表达式式

 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
定时任务Quartz简单配置与cron表达式
下载积分:400
内容提示:定时任务Quartz简单配置与cron表达式
文档格式:PDF|
浏览次数:326|
上传日期: 23:10:30|
文档星级:
该用户还上传了这些文档
定时任务Quartz简单配置与cron表达式
官方公共微信09:57 提问
QuartZ Cron表达式 指定只执行一次。比如 日0点0分0秒 如何实现
QuartZ Cron表达式 貌似指定不了 某一天这一辈子执行1次那种
按赞数排序
你只要设置了具体日期应该就只会执行一次
至于星期几就不需要管了.
楼上正解,管日不管周,管周不管日,如果日和周都写上具体值就可能会解释不通。比如:到底是星期2的1号,还是1号的星期2。
只要记住,假如你为这两域的其中一个指定了值,那就必须在另一个字值上放一个 ?,意为不为该域指定具体值。
我也是刚刚弄懂的~
一楼的,不可用,已验证
这很简单啊, 执行一次, 停掉不就行啦, InterruptableJob
其他相似问题Spring+Quartz查询数据库动态设置cron表达式求助_java吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:594,960贴子:
Spring+Quartz查询数据库动态设置cron表达式求助收藏
各位大神,谁有Demo借小弟一观个人邮箱
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或Quartz的cron表达式 - biaoming - ITeye技术网站
博客分类:
一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。
按顺序依次为
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
7.年份()
其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?.
0 0 10,14,16 * * ? 每天上午10点,下午2点,4点
0 0/30 9-17 * * ?
朝九晚五工作时间内每半小时
0 0 12 ? * WED 表示每个星期三中午12点
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 * * ? *" 每天上午10:15触发
"0 15 10 * * ? 年的每天上午10:15触发
"0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
"0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L " 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
有些子表达式能包含一些范围或列表
例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT”
“*”字符代表所有可能的值
因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天
“/”字符用来指定数值的增量
例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟
在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样
“?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值
当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?”
“L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写
但是它在两个子表达式里的含义是不同的。
在天(月)子表达式中,“L”表示一个月的最后一天
在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT
如果在“L”前有具体的内容,它就具有其他的含义了
例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五
注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题
允许的特殊字符
, - * ? / L W C
1-12 或者 JAN-DEC
1-7 或者 SUN-SAT
, - * ? / L C #
年(可选)
浏览 49508
浏览: 210862 次
来自: 北京
没说说明L W C,L C #,每个字符的含义呢?补充
呵呵,没问题了,能正常运行..
biaoming 写道看了一下文档,compass已经提供很方 ...
请问博主,源呢?你是使用哪个源? 怎么还有内核的源?我杂没找到 ...
1、能弄个图就好了2、neighbor 这一项的配置有问题吧? ...学习笔记_Quartz作业调度框架,使用corn表达式 -
- ITeye技术网站
博客分类:
每一个 Quartz Job 必须有一个实现了 org.quartz.Job 接口的具体类。这个接口仅有一个要你在 Job 中实现的方法,execute(),方法 execute() 的原型如下:
public void execute(JobExecutionContext context) throws JobExecutionE
当 Quartz 调度器确定到时间要激发一个 Job 的时候,它就会生成一个 Job 实例,并调用这个实例的 execute() 方法。调度器只管调用 execute() 方法,而不关心执行的结果,除了在作业执行中出问题抛出的 org.quartz.JobExecutionException 异常。
当 Quartz 调用 execute() 方法,会传递一个 org.quartz.JobExecutionContext 上下文变量,里面封装有 Quartz 的运行时环境和当前正执行的 Job。通过 JobexecutionContext,你可以访问到调度器的信息,作业和作业上的触发器的信息,还有更多更多的信息。在代码中,JobExecutionContext 被用来访问 org.quartz.JobDetail 类,JobDetail 类持有 Job 的详细信息,包括为 Job 实例指定的名称,Job 所属组,Job 是否被持久化(易失性),和许多其他感兴趣的属性。
JobDetail 又持有一个指向 org.quartz.JobDataMap 的引用。JobDataMap 中有为指定 Job 配置的自定义属性。
以下是Quartz使用corn表达式的一个简单示例。
public class HelloJob implements Job {
public void execute(JobExecutionContext context)
throws JobExecutionException {
//从JobExecutionContext中获取JobDetail信息,包括JobDataMap中的参数信息
JobKey key = context.getJobDetail().getKey();
JobDataMap dataMap = context.getJobDetail().getJobDataMap();
String jobPerson = dataMap.getString("jobPerson");
float jobParam = dataMap.getFloat("jobParam");
System.out.println(new Date()+",Instance " + key + " of HelloJob");
System.out.println(jobPerson+" says Hello World!,and param is: " + jobParam);
public class Demo1 {
public static void main(String[] args) throws Exception{
//从工厂中取出调度器Scheduler
SchedulerFactory schedFact = new StdSchedulerFactory();
Scheduler sched = schedFact.getScheduler();
//启动调度器,也可以在job和trigger设置好后启动
sched.start();
//定义一个作业,并绑定到HelloJob上,命名为myJob,分组为group1,usingJobData为传递参数
JobDetail job = newJob(HelloJob.class)
.withIdentity("myJob", "group1")
.usingJobData("jobPerson", "jk")
.usingJobData("jobParam", 3.141f)
//定义一个触发器,命名为myTrigger,分组为group1,使用corn时间表达式
trigger = newTrigger()
.withIdentity("myTrigger", "group1")
.withSchedule(cronSchedule("0/10 * * * * ?"))//"0/10 * * * * ?"为corn表达式
//.forJob("myJob", "group1") //貌似这一句不要也可以
// Tell quartz to schedule the job using our trigger
sched.scheduleJob(job, trigger);
附件为demo工程。
下载次数: 23
浏览: 4761 次
来自: 成都
谢谢 学习了解下。
老实说我个人不提倡EXT,开发成本太大,风险比较高!维护困难, ...

我要回帖

更多关于 quartz cron 的文章

 

随机推荐