schedulerfactorybean(QuartzJobBean什么意思)
本文目录
QuartzJobBean什么意思
A:extends QuartzJobBean方法1:定义任务(extends QuartzJobBean)package onlyfun.bb.Quartz;import org.quartz.JobExecutionContext;import org.springframework.scheduling.quartz.QuartzJobBean;public class QuartzDemo extends QuartzJobBean {private JobData jobData; //JobData为自定义类public void executeInternal(JobExecutionContext context){System.out.println(jobData.getData()+" is executed");}public JobData getJobData() {return jobData;}public void setJobData(JobData jobData) {this.jobData = jobData;}}JobData.java:package onlyfun.bb.Quartz;import java.util.Date;public class JobData {public String getData(){return "Data from JobData at "+new Date().toString();}}2: 配置《!-- use Quartz --》《bean id="someData" class="onlyfun.bb.Quartz.JobData"》《/bean》《bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean"》《property name="jobClass" value="onlyfun.bb.Quartz.QuartzDemo"》《/property》《property name="jobDataAsMap"》《map》《entry key="jobData" value-ref="someData"》《/entry》《/map》《/property》《/bean》《bean id="***TriggerBean" class="org.springframework.scheduling.quartz.SimpleTriggerBean"》《property name="jobDetail" ref="jobDetailBean"》《/property》《property name="repeatInterval" value="2000"》《/property》《property name="startDelay" value="1000"》《/property》《/bean》《bean id="scheduledFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"》《property name="triggers"》《list》《ref bean="***TriggerBean"/》《/list》《/property》《/bean》留意:在JobDetailBean的jobClass属性必须提供Job的类名称,而不是Job类的实例。马踏天下Job所需的数据可以在jobDataAsMap属性中设置。在任务的周期指定上,使用SimpleTriggerBean类来指定,与TimerTask指定方式类似。排定Job用SchedulerFactoryBean类。完成设置后,只要在启动Spring并读取定义文件后,计划任务就会执行。3:测试package onlyfun.bb.Quartz;import java.io.*;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestQuartzDemo {public static void main(String args) throws IOException {// TODO Auto-generated method stubApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");System.out.println("启动Task:");System.out.println("请输进 exit 结束Task:");//A处BufferedReader reader=new BufferedReader(new InputStreamReader(System.in));while(true){if(reader.readLine().equals("exit")) break; }//此句可以放在A处Scheduler scheduler=(Scheduler)context.getBean("scheduledFactoryBean");try {scheduler.shutdown();} catch (SchedulerException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}4:测试分析:使用SimpleTriggerBean类只能做简单Job与Job之间的执行周期指定,儿童故事假如需要在指定时间执行,可以使用CronTriggerBean类。职场生涯最好的减肥药是什么修改配置文件如下:《!-- use Quartz --》《bean id="someData" class="onlyfun.bb.Quartz.JobData"》《/bean》《bean id="jobDetailBean" class="org.springframework.scheduling.quartz.JobDetailBean"》《property name="jobClass" value="onlyfun.bb.Quartz.QuartzDemo"》《/property》《property name="jobDataAsMap"》《map》《entry key="jobData" value-ref="someData"》《/entry》《/map》《/property》《/bean》《bean id="cronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"》《property name="jobDetail" ref="jobDetailBean"》《/property》《property name="cronExpression" value="0 37-38 15 * * ?"/》《/bean》《bean id="scheduledFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"》《property name="triggers"》《list》《ref bean="cronTriggerBean"/》《/list》《/property》《/bean》留意:CronTriggerBean的cronExpression属性指定格式:至少6个时间元素,上面表示天天的15:37-38分执行1次任务。时间元素(按照顺序):秒(0-59):分(0-59):小时(0-23):每月第几天(1-31):月(1-12或JAN-DEC):每星期第几天(1-7或SUN-SAT):年(1970-2099):其中:不用设置的用”?”.(1)每月第几天和每星期第几天是互斥的,两个只能设置1个。假如有好几个时间点,可以使用”,”符号,例如:”0 0 10,12,14 * * ?”表示天天的10时,12时,14时执行Job.(2)对于连续时间可以使用”-”符号。例如:”0 10,12,14 1-15 * ?”表示每月的1到15日10时,12时,14时执行Job.(3)时间格式的年可以不用制定。例如”0 0 10,12,14 ? MON 2006”表示2006年每星期一的10时,12时,14时执行Job.B:不需要继续的任务制定方法使用Spring不一定需要继续QuartzJobBean类来定义1个Job类,可以使用MethodInvokingJobDetailFactoryBean来直接指定执行某个对象的方法。
schedulerfactorybean怎么实现任务调度
《/property》 《property name="targetMethod"》 《value》processTSupervise《/value》《!-- 处理数据到业务督办表T_Supervise中 --》 《/property》 《/bean》 《bean id="cronTrigger_1" class="org.springframework.scheduling.quartz.CronTriggerBean"》 《property name="jobDetail"》 《ref bean="jobDetail_1" /》 《/property》 《property name="cronExpression"》 《value》0 0 10 * * ? *《/value》《!-- 每天上午10点执行 --》 《/property》 《/bean》 《bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"》 《property name="triggers"》 《list》 《ref local="cronTrigger_1" /》
更多文章:
海淘thinkpad x1(thinkpad x1 carbon 海淘官翻能修吗)
2024年9月23日 06:10
联想z470二手多少钱(联想z470笔记本花500元修修值不值)
2024年7月16日 04:22
惠普4321s换屏幕(惠普4321s的屏幕闪屏以前换过一个,现在刚刚过保,可是屏幕又开始闪了,换过的部件能不能延长保修呢)
2024年7月23日 08:25
联想驱动和英伟达驱动(小Y、GT425,直接到英伟达更新显卡驱动好, 还是到联想官网更新显卡驱动好)
2024年5月21日 04:52
戴尔手机模拟器(戴尔dell灵越3511能玩和平精英模拟器吗)
2024年9月16日 16:20
惠普6515b笔记本(你好,我的笔记本惠普6515b ,想扩展内存,我应该使用那种型号的内存条)
2024年7月14日 16:33
英伟达更新驱动后悔了(更新NVIDIA显卡驱动会不会对电脑(系统)造成不良影响)
2024年7月16日 08:17
联想s800多少钱(联想S800i手机刚买两天掉水了能开机但是触屏不管用了!是哪里的毛病换个触屏多少钱!)
2024年7月19日 05:13
宏基4750g能装win10吗(宏碁 4752g 能装win 10 吗)
2023年11月15日 13:00
联想g510笔记本怎么样(联想G510笔记本的配置怎么样啊都能玩什么游戏~)
2024年9月16日 09:00