java quartz 例子_java quarter

       非常感谢大家聚集在这里共同探讨java quartz 例子的话题。这个问题集合涵盖了java quartz 例子的广泛内容,我将用我的知识和经验为大家提供全面而深入的回答。

1.quartz 每天 8-10点每隔10分钟执行一次,11-13点每隔1小时执行一次 cronExpression 要怎么写?

2.Spring+quartz 做定时任务时,每5分种执行一次,怎么写法

3.Quartz 每月1号,执行规则表达式怎么列?

4.怎么用quartz控制任务的执行顺序

java quartz 例子_java quarter

quartz 每天 8-10点每隔10分钟执行一次,11-13点每隔1小时执行一次 cronExpression 要怎么写?

       0 0/10 8-11 1-30 8点(8点执行)到晚上10点每隔10分钟触发一次

       0 0/1 11-13 1-31 1-13点每隔1小时执行一次

       cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。

       1.Seconds (秒)

       2.Minutes(分)

       3.Hours(小时)

       4.Day-of-Month? (天)

       5.Month(月)

       6.Day-of-Week (周)

       7.Year(年)

       例:"0 0 12 ? * WED” 意思是:每个星期三的中午12点执行。

       个别子表达式可以包含范围或者列表。例如:上面例子中的WED可以换成"MON-FRI","MON,WED,FRI",甚至"MON-WED,SAT"。

       子表达式范围:

       1.Seconds (0~59)

       2.Minutes (0~59)

       3.Hours (0~23)

       4.Day-of-Month (1~31,但是要注意有些月份没有31天)

       5.Month (0~11,或者"JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV,DEC")

       6.Day-of-Week (1~7,1=SUN 或者"SUN, MON, TUE, WED, THU, FRI, SAT”)

       7.Year (1970~2099)

扩展资料:

       Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能。

       但就其简易形式看,你会发现它易用得简直让人受不了!。简单地创建一个实现org.quartz.Job接口的java类。Job接口包含唯一的方法:

       public void execute(JobExecutionContext context)

       throws JobExecutionException;

       在你的Job接口实现类里面,添加一些逻辑到execute()方法。一旦你配置好Job实现类并设定好调度时间表,Quartz将密切注意剩余时间。

       当调度程序确定该是通知你的作业的时候,Quartz框架将调用你Job实现类(作业类)上的execute()方法并允许做它该做的事情。

       无需报告任何东西给调度器或调用任何特定的东西。仅仅执行任务和结束任务即可。如果配置你的作业在随后再次被调用,Quartz框架将在恰当的时间再次调用它。

       百度百科-quartz

Spring+quartz 做定时任务时,每5分种执行一次,怎么写法

       哥们 java有一个 Quartz 这个开源框架 网上资源挺多的,我就不在这给你复制了。这个是专门定时调用某一程序的,我觉得挺好用。你可以看看。有事hi我

       哦,看来你那模块应该简单吧,Quartz挺好用的。那给你段timer的代码吧

       Timer taskTimer = new Timer(true);//java自带定时执行的类

       taskTimer.schedule(new TimerTask()

        {

        public void run()

        {

        //这里是你要处理逻辑的地方

        }

        }, 0, 1000*60);

       //后面0是执行任务前的延迟时间,单位是毫秒。

       //1000*60是执行各后续任务之间的时间间隔,单位是毫秒。 也就是多长时间执行一次。

Quartz 每月1号,执行规则表达式怎么列?

       写法如下:

       <beanid="StaticPageQuartz"class="com.test.quartz.pageconvertor.StaticPageConvertor"

       />

       <beanid="BuildStaticPageTask"

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

       <propertyname="targetObject"ref="StaticPageQuartz"/>

       <propertyname="targetMethod"value="doHTMLConvertor"/>

       <propertyname="concurrent"value="false"/>

       </bean>

       <beanid="BuildStaticPageTrigger"

       class="org.springframework.scheduling.quartz.CronTriggerBean">

       <propertyname="jobDetail"ref="BuildStaticPageTask"/>

       <propertyname="cronExpression"value="00/5***?"/><!--每五分钟执行一次--

       </bean>

扩展资料:

       Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。

       Spring是于2003年兴起的一个轻量级的Java开发框架,由RodJohnson创建。简单来说,Spring是一个分层的JavaSE/EE?full-stack(一站式)?轻量级开源框架。

       

       Quartz是OpenSymphony开源组织在Jobscheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。

       Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或EJBs。Quartz的最新版本为Quartz2.3.0。

参考资料:

百度百科:spring

参考资料:

百度百科:quartz

怎么用quartz控制任务的执行顺序

       系统中通常有些需要自动执行的任务,这些任务可能每隔一段时间就要执行一次,也可能需要在指定的时间点自动执行,这些任务的自定执行必须使用任务的自动调度。

       JDK为简单的任务调度提供了Timer支持,单对于更复杂的调度,例如:需要在某的时刻调度任务时,Timer就显得力不从心了。

       Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或 EJBs。

       下面为每周一上午10点15分执行任务

       0 15 10 ? * MON

       每月10号9点15分钟执行任务0 15 9 10 * ?

       其它规则附录表,表示式说明

       "0 0 12 * * ? " 每天12点运行

       "0 15 10 ? * *" 每天10:15运行

       "0 15 10 * * ?" 每天10:15运行

       "0 15 10 * * ? *" 每天10:15运行

       "0 15 10 * * ? 2008" 在2008年的每天10:15运行

       "0 * 14 * * ?" 每天14点到15点之间每分钟运行一次,开始于14:00,结束于14:59。

       "0 0/5 14 * * ?" 每天14点到15点每5分钟运行一次,开始于14:00,结束于14:55。

       "0 0/5 14,18 * * ?" 每天14点到15点每5分钟运行一次,此外每天18点到19点每5钟也运行一次。

       "0 0-5 14 * * ?" 每天14:00点到14:05,每分钟运行一次。

       "0 10,44 14 ? 3 WED" 3月每周三的14:10分到14:44,每分钟运行一次。

       "0 15 10 ? * MON-FRI" 每周一,二,三,四,五的10:15分运行

       我是用的C#,相信JAVA中也存在类似的功能:

       1、设置需要在上一个job执行完成后继续执行的job的 StoreDurably(true)

var?job1?=?JobBuilder.Create<TestJob>().WithIdentity(jobKey1).Build();

       var?job2?=?JobBuilder.Create<TestJob>().WithIdentity(jobKey2)

       .StoreDurably(true).Build();

       var?job3?=?JobBuilder.Create<TestJob>().WithIdentity(jobKey3)

       .StoreDurably(true).Build();

       2、添加job链监听:JobChainingJobListener

JobChainingJobListener?chain?=?new?JobChainingJobListener("testChain");

chain.AddJobChainLink(jobKey1,?jobKey2);

chain.AddJobChainLink(jobKey2,?jobKey3);

       scheduler.ListenerManager.AddJobListener(chain,?GroupMatcher<JobKey>.AnyGroup());

       3、将job添加到 scheduler

scheduler.ScheduleJob(job1,?trigger1);

scheduler.AddJob(job2,?true);

scheduler.AddJob(job3,?true);

       4、这样做的缺点:

       尽管配置了相同jobKey串行执行,如果并发的触发任务链的下一次执行job1,将只会等待job1执行完成后(而不是整个任务链执行完毕)。也就是job1和job2、job3将会并发执行。有并发需求的同学请参考楼上的答案:把需要并行的任务塞到一个任务队列里面。

       好了,今天关于“java quartz 例子”的探讨就到这里了。希望大家能够对“java quartz 例子”有更深入的认识,并且从我的回答中得到一些帮助。