当前位置: 首页 > news >正文

公司网站制作流程2016南宁建站热搜

公司网站制作流程2016,南宁建站热搜,兰州网站制作公司服务电话,陕西省建设厅执业资格注册中心网站报名Q1. springboot怎样创建定时任务#xff1f; 很显然#xff0c;人人都知道#xff0c;Scheduled(cron .....) Q2. 如上所示创建了定时任务却未能执行是为什么#xff1f; 如果你的cron确定没写错的话 cron表达式是否合法#xff0c;可参考此处#xff0c…Q1. springboot怎样创建定时任务 很显然人人都知道Scheduled(cron .....) Q2. 如上所示创建了定时任务却未能执行是为什么 如果你的cron确定没写错的话 cron表达式是否合法可参考此处https://tool.lu/crontab/选择Spring表达式。 那么可能是你启动类少了一个注解EnableScheduling 如下图 Q3. 多个定时任务未能严格按照指定的时间执行为什么 比如有4个定时任务分别是每天凌晨的1点整、2点整、3点整、4点整执行 但观察日志发现并不是。 比如1点整开始执行第一个如果会执行很久的话 2点半才开始执行第2个 后面的以此类推都不一定严格按照指定时间。 那么为什么 因为springboot里面的定时任务默认是单线程执行的。后面的定时任务会排队、顺延。 比如Job1执行了1.5hJob2的时间尽管到了但没有线程可用就只能等Job1完成之后才执行。 所以就会出现顺延现象。 Q4. 如何确保定时任务在特定时间执行 这里思路就很简单了多线程即创建一个线程池比如4个线程并且指定使用这个线程池里的线程来做这4个定时任务肯定是足够的。 这样的话就不会依次影响了。 注意,只给定时任务增加Async注解是不够的。 step1初始化线程池 文件1 SchedulerConfig.java package cn.xxx.starter.config;import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.SchedulingConfigurer; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler; import org.springframework.scheduling.config.ScheduledTaskRegistrar;import javax.annotation.Resource;/*** author * date 2024/4/2 14:22* desc*/ Configuration public class SchedulerConfig implements SchedulingConfigurer {Resourceprivate ThreadPoolTaskScheduler threadPoolTaskScheduler;Overridepublic void configureTasks(ScheduledTaskRegistrar scheduledTaskRegistrar) {scheduledTaskRegistrar.setTaskScheduler(threadPoolTaskScheduler);} } 文件2 ThreadPoolTaskSchedulerConfig.java package cn.xxx.starter.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;import java.util.concurrent.Executor;/*** author * date 2024/4/1 17:45* desc*/ Configuration EnableAsync public class ThreadPoolTaskSchedulerConfig {private int corePoolSize 4;Beanpublic ThreadPoolTaskScheduler threadPoolTaskScheduler() {ThreadPoolTaskScheduler threadPoolTaskScheduler new ThreadPoolTaskScheduler();//线程池大小为10threadPoolTaskScheduler.setPoolSize(corePoolSize);//设置线程名称前缀threadPoolTaskScheduler.setThreadNamePrefix(AsyncJob-thread-);//关键点: 设置线程池关闭的时候等待所有任务都完成再继续销毁其他的BeanthreadPoolTaskScheduler.setWaitForTasksToCompleteOnShutdown(true);//关键点设置线程池中任务的等待时间如果超过这个时候还没有销毁就强制销毁以确保应用最后能够被关闭而不是阻塞住threadPoolTaskScheduler.setAwaitTerminationSeconds(60 * 60);threadPoolTaskScheduler.initialize();return threadPoolTaskScheduler;} }step2 ,启动定时任务时指定使用此线程池 XxxxJob.java package cn.xxx.starter.task.job;import com.alibaba.fastjson.JSON; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.scheduling.annotation.Async; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component;Slf4j Component public class Job1{Async(value threadPoolTaskScheduler)Scheduled(cron 0 30 */1 * * ?)public void execute() { try {//......}catch (Exception e){log.error(Job1出错 e {}, stackTrace {} , e.getMessage(), JSON.toJSONString(e.getStackTrace()));}finally {log.info(Job1结束); }} }
http://www.hkea.cn/news/14258618/

相关文章:

  • 网站项目开发的一般流程企业进行网站建设的方式有( )
  • 国外手机网站模板设计参考网站推荐
  • 做网站哪个软件好用服装定制店的前景
  • 杭州建设监理协会网站wordpress 显示发布时间
  • 个人博客网站开发历程郑州建站的
  • 网站建设图片居中代码网页制作题怎么编辑
  • 本地网站建设方案信息大全软件工程与项目管理
  • 网站建设 服务条款夷陵网
  • 正能量网站免费进入无需下载百度seo网站
  • 网站开发合同范本大全wordpress 分页文章数
  • 昆山网站建设秦皇岛网页模板下载哪个网站好
  • 哪个网站可以做推手电器网站建设规划书
  • 企业网站备案备注厦门网站制作专业
  • 零基础网站建设教程创业计划书模板
  • 福州官网建站厂一般营销方式三大步骤
  • 机电网站模板深圳企业网站建设收费标准
  • 网站建设与管理实训主要内容免费企业建站cms
  • 佛山家居网站全网营销巴州网站建设库尔勒网站建设钟爱网络
  • 做网站需要空间建设银行包头分行网站
  • 网站浮动广告代码成都大型广告公司有哪些
  • 怀柔网站建设洛阳万悦网站建设
  • 如何做网站联盟哪有做建筑设计的网站
  • 广州做礼物的网站网络营销推广是什么
  • 如何免费建网站赚钱广州建站免费模板
  • 网站开发计什么科目做网站赚钱流量
  • 有孩子做的网站广州seo网站推广顾问
  • 网站中的ppt链接怎么做网站seo分析报告案例
  • 六安网站制作公司价格河北建设工程信息交易中心
  • 有声小说网站开发网站内容与功能设计与实现的
  • 淘宝上面建设网站服装展示网站源码