crontriggerbeanSpring 的定时任务不执行了

crontriggerbean  时间:2021-06-06  阅读:()

如何设置springboot启动类定时

<1>、在配置信2113息中SchedulerFactoryBean定义了多个触发器,在启动Spring后,就是从这个5261配置获取到触发器。

<2>、触发器是通4102过CronTriggerBean来配置,它设置了任1653务类和任务启动的时间 <3>、MethodInvokingJobDetailFactoryBean是任务类的配置,设置了执行任务的对回象是那个Bean和需要执行这个Bean大那个方法。

如何动态修改quartz的执行时间

Spring Quartz如何动态配置时间 1. 目的:动态设置时间,触发相应的任务 2. 系统架构为 struts + spring + hibernate 3. 实现步骤: 在页面上设置时间; 将时间转换为Unix Cron Expression; 将转换后的时间规则表达式记录到数据库中(也可以写入xml文件中,这里是项目需要记录入数据库中); 从数据库中得到相应的时间规则表达式; 更新您的任务触发器的时间设置; RESCHEDULE THE JOB。

; - ) 4. 具体实现细节: 1) 在页面上设置时间 根据具体的业务需求,设置时间规则,下面以某一项目为例,需要 按每月、每周、自定义分为三种规则。

1 < tr > 2 < th > 执行这个任务 </ th > 3 < td style ="font-weight:bold;" > 4 < html:radio property ="everyWhat" styleClass ="InputBorderNone" value ="monthly" onclick ="changeStatus(this.value)" > 每月 </ html:radio > 5 < html:radio property ="everyWhat" styleClass ="InputBorderNone" value ="weekly" onclick ="changeStatus(this.value)" > 每周 </ html:radio > 6 < html:radio property ="everyWhat" styleClass ="InputBorderNone" value ="userDefined" onclick ="changeStatus(this.value)" > 自定义 </ html:radio > 7 < html:hidden property ="jobName" value =&pare" /> 8 </ td > 9 </ tr > 10 每月则需要选择该月的第几个星期的星期几 1 < tr style ="display:" id ="whichWeek" > 2 < th > 选择第几个星期 </ th > 3 < td style ="font-weight:bold;" > 4 < html:select property ="week" > 5 < html:option value ="1" > 一 </ html:option > 6 < html:option value ="2" > 二 </ html:option > 7 < html:option value ="3" > 三 </ html:option > 8 < html:option value ="4" > 四 </ html:option > 9 </ html:select > 10 < html:select property ="dayOfMonth" > 11 < html:option value ="1" > 星期日 </ html:option > 12 < html:option value ="2" > 星期一 </ html:option > 13 < html:option value ="3" > 星期二 </ html:option > 14 < html:option value ="4" > 星期三 </ html:option > 15 < html:option value ="5" > 星期四 </ html:option > 16 < html:option value ="6" > 星期五 </ html:option > 17 < html:option value ="7" > 星期六 </ html:option > 18 </ html:select > 19 </ td > 20 </ tr > 21 每周则需要选择星期几 1 < tr style ="display:none" id ="whichDay" > 2 < th > 选择星期 </ th > 3 < td style ="font-weight:bold;" > 4 < html:select property ="dayOfWeek" > 5 < html:option value ="1" > 星期日 </ html:option > 6 < html:option value ="2" > 星期一 </ html:option > 7 < html:option value ="3" > 星期二 </ html:option > 8 < html:option value ="4" > 星期三 </ html:option > 9 < html:option value ="5" > 星期四 </ html:option > 10 < html:option value ="6" > 星期五 </ html:option > 11 < html:option value ="7" > 星期六 </ html:option > 12 </ html:select > 13 </ td > 14 </ tr > 15 自定义则选择具体的日期,如 2007-1-10 三种规则都需要设定时间点 1 < tr > 2 < th > 起始时间 </ th > 3 < td style ="font-weight:bold;" > 4 < html:select property ="timeType" styleId ="type" onchange ="changeStatus2(this.value)" > 5 < html:option value ="AM" > 上午 </ html:option > 6 < html:option value ="PM" > 下午 </ html:option > 7 </ html:select > 8 < html:select property ="hour" styleId ="amHours" > 9 < html:option value ="1" > 1 </ html:option > 10 < html:option value ="2" > 2 </ html:option > 11 < html:option value ="3" > 3 </ html:option > 12 < html:option value ="4" > 4 </ html:option > 13 < html:option value ="5" > 5 </ html:option > 14 < html:option value ="6" > 6 </ html:option > 15 < html:option value ="7" > 7 </ html:option > 16 < html:option value ="8" > 8 </ html:option > 17 < html:option value ="9" > 9 </ html:option > 18 < html:option value ="10" > 10 </ html:option > 19 < html:option value ="11" > 11 </ html:option > 20 < html:option value ="12" > 12 </ html:option > 21 </ html:select > 22 < html:select property ="hour" styleId ="pmHours" style ="display:none" > 23 < html:option value ="13" > 13 </ html:option > 24 < html:option value ="14" > 14 </ html:option > 25 < html:option value ="15" > 15 </ html:option > 26 < html:option value ="16" > 16 </ html:option > 27 < html:option value ="17" > 17 </ html:option > 28 < html:option value ="18" > 18 </ html:option > 29 < html:option value ="19" > 19 </ html:option > 30 < html:option value ="20" > 20 </ html:option > 31 < html:option value ="21" > 21 </ html:option > 32 < html:option value ="22" > 22 </ html:option > 33 < html:option value ="23" > 23 </ html:option > 34 < html:option value ="0" > 0 </ html:option > 35 </ html:select > 点 36 < html:text property ="minute" name ="minute" style ="width:20px;" value ="0" onchange ="valTime(this.value)" /> 分 37 < html:text property ="second" name ="second" style ="width:20px;" value ="0" onchange ="valTime(this.value)" /> 秒(0-59之间的整数) 38 </ td > 39 </ tr > 40 OK. 这样我们的页面设置就完成了。

: - ) 上回说到,我们的设置页面已经做好了,接下来就是将时间转换为Unix Cron Expression。

2) 将时间转换为Unix Cron Expression 需要ActionForm将页面表单数据映射到Action中,然后在Action中转换为cron expression: 1 SchedulerForm schedulerForm = (SchedulerForm) form; 2 String jobName = schedulerForm.getJobName(); 3 String cronExpression = "" ; 4 String[]monNeeds = {schedulerForm.getSecond(), schedulerForm.getMinute(), schedulerForm.getHour()}; 5 String[] monthlyNeeds = {schedulerForm.getWeek(), schedulerForm.getDayOfMonth()} ; 6 String weeklyNeeds = schedulerForm.getDayOfWeek(); 7 String userDefinedNeeds = schedulerForm.getDate(); 8 String everyWhat = schedulerForm.getEveryWhat(); 9 // 得到时间规则 10 cronExpression = CronExpConversion.getCronExpression(everyWhat,monNeeds, 11 monthlyNeeds, weeklyNeeds, userDefinedNeeds); 12 我定义了一个 规则类来处理转换规则(写得不是很好 能用就行 嘿嘿) 1 2 /** 3 * 页面设置转为UNIX cron expressions 转换类 4 * CronExpConversion 5 */ 6 public class CronExpConversion { 7 8 /** 9 * 页面设置转为UNIX cron expressions 转换算法 10 * @param everyWhat 11 * @param monNeeds 包括 second minute hour 12 * @param monthlyNeeds 包括 第几个星期 星期几 13 * @param weeklyNeeds 包括 星期几 14 * @param userDefinedNeeds 包括具体时间点 15 * @return cron expression 16 */ 17 public static String convertDateToCronExp(String everyWhat, 18 String[]monNeeds, String[] monthlyNeeds, String weeklyNeeds, 19 String userDefinedNeeds) { 20 String cronEx = "" ; 21 mons = monNeeds[ 0 ] + " " + monNeeds[ 1 ] + " " 22 + monNeeds[ 2 ] + " " ; 23 String dayOfWeek = "" ; 24 if ( " monthly " .equals(everyWhat)) { 25 // eg.: 6#3 (day 6 = Friday and "#3" = the 3rd one in the 26 // month) 27 dayOfWeek = monthlyNeeds[ 1 ] 28 + CronExRelated.specialCharacters 29 .get(CronExRelated._THENTH) + monthlyNeeds[ 0 ]; 30 cronEx = mons 31 + CronExRelated.specialCharacters.get(CronExRelated._ANY) 32 + " " 33 + CronExRelated.specialCharacters.get(CronExRelated._EVERY) 34 + " " + dayOfWeek + " " ).trim(); 35 } else if ( " weekly " .equals(everyWhat)) { 36 dayOfWeek = weeklyNeeds; // 1 37 cronEx = mons 38 + CronExRelated.specialCharacters.get(CronExRelated._ANY) 39 + " " 40 + CronExRelated.specialCharacters.get(CronExRelated._EVERY) 41 + " " + dayOfWeek + " " ).trim(); 42 } else if ( " userDefined " .equals(everyWhat)) { 43 String dayOfMonth = userDefinedNeeds.split( " - " )[ 2 ]; 44 if (dayOfMonth.startsWith( " 0 " )) { 45 dayOfMonth = dayOfMonth.replaceFirst( " 0 " , "" ); 46 } 47 String month = userDefinedNeeds.split( " - " )[ 1 ]; 48 if (month.startsWith( " 0 " )) { 49 month = month.replaceFirst( " 0 " , "" ); 50 } 51 String year = userDefinedNeeds.split( " - " )[ 0 ]; 52 // FIXME 暂时不加年份 Quartz报错 53 /* cronEx = mons + dayOfMonth + " " + month + " " 54 + CronExRelated.specialCharacters.get(CronExRelated._ANY) 55 + " " + year).trim(); */ 56 cronEx = mons + dayOfMonth + " " + month + " " 57 + CronExRelated.specialCharacters.get(CronExRelated._ANY) 58 + " " ).trim(); 59 } 60 return cronEx; 61 } 62 } 63 这样就将页面的时间设置转为了Cron Expression。

书接上回,上回说到,我们已经将页面的时间设置转为了Cron Expression,下面我记录了时间规则。

3) 记录时间规则 我将时间规则存入数据库中,目的是为了生成历史日志,也可以存入XML文件中。

当然您也可以省略此步,直接将转换后的规则放入相应的Quartz trigger中。

4) 更新任务触发器的时间设置 到了关键的一步了,也是最简单的一步,一个方法就可以实现了。

首先,我们需要通过trigger的名称得到一个CronTriggerBean; 其次,通过trigger的setCronExpression(String cronExp)方法将新的表达式注入; 最后,RESCHEDULE THE JOB,OK!

spring定时器怎样配置时间设置

//下面使用MySql 提供的专用对象   MySqlConnection mycon = new MySqlConnection(constr);   mycon.Open();   MySqlCommandmycmd = new MySqlCommand("select * from users", mycon);   MySqlDataReader myreader = mycmd.ExecuteReader();   while (myreader.Read())

Spring 的定时任务不执行了

根据你描述的,没法帮你确定问题。

不过你可以把定时器设置成没秒执行一次,注释掉原理的逻辑。

只打印一句话。

看看定时器是不是有问题。

在确定其他的问题

RAKsmart新年钜惠:E3服务器秒杀$30/月起,新上韩国服务器,香港/日本/美国站群服务器,VPS月付$1.99起,GPU服务器,高防服务器_vps香港

RAKsmart发布了新年钜惠活动,即日起到2月28日,商家每天推出限量服务器秒杀,美国服务器每月30美元起,新上了韩国服务器、GPU服务器、香港/日本/美国常规+站群服务器、1-10Gbps不限流量大带宽服务器等大量库存;VPS主机全场提供7折优惠码,同时针对部分特惠套餐无码直购每月仅1.99美元,支持使用PayPal或者支付宝等方式付款,有中英文网页及客服支持。爆款秒杀10台/天可选精品网/大...

wordpress简洁英文主题 wordpress简洁通用型高级外贸主题

wordpress简洁英文主题,wordpress简洁通用大气的网站风格设计 + 更适于欧美国外用户操作体验,完善的外贸企业建站功能模块 + 更好的移动设备特色模块支持,更高效实用的后台自定义设置 + 标准高效的代码程序功能结构,更利于Goolge等国际搜索引擎的SEO搜索优化和站点收录排名。点击进入:wordpress简洁通用型高级外贸主题主题价格:¥3980 特 惠 价:¥1280安装环境:运...

PIGYUN:美国联通CUVIPCUVIP限时cuvip、AS9929、GIA/韩国CN2机房限时六折

pigyun怎么样?PIGYunData成立于2019年,2021是PIGYun为用户提供稳定服务的第三年,目前商家提供香港CN2线路、韩国cn2线路、美西CUVIP-9929、GIA等线路优质VPS,基于KVM虚拟架构,商家采用魔方云平台,所有的配置都可以弹性选择,目前商家推出了七月优惠,韩国和美国所有线路都有相应的促销,六折至八折,性价比不错。点击进入:PIGYun官方网站地址PIGYUN优惠...

crontriggerbean为你推荐
水晶易表如何获取和安装水晶易表Xcelsius2008seo优化技术SEO技术是什么?自定义表情qq自定义表情鄂n鄂A鄂B鄂C鄂D鄂E鄂F鄂G鄂H鄂J鄂K鄂L鄂M鄂N鄂P鄂Q鄂R鄂S鄂T鄂U分别代表湖北省的哪些城市asp大马黑帽seo的webshell中,什么是大马和小马单元测试规范单元场景测试是如何进行的?papertiger亚瑟士 艾斯克斯 tiger有什么区别吗点心os现有的基于安卓深度优化的MUUI、点心OS、CM7、乐众ROM、乐蛙,这些哪个好?各自特点?给个排名。网站推广软件破解版寻 营销软件 免费的 破解的 注册机 什么样的都可以只要功能全强大web推送WebSocket 是什么原理?如何实现消息实时推送
t牌 云全民 美国堪萨斯 1美金 购买国外空间 申请网页 raid10 网购分享 备案空间 阿里云官方网站 带宽租赁 网站加速软件 www789 免费的asp空间 ebay注册 贵阳电信 atom处理器 金主 带宽测试 电信主机托管 更多