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

如何选择一个好的优质网站建设公司001做淘宝代码的网站

如何选择一个好的优质网站建设公司,001做淘宝代码的网站,中山网站搜索排名,功能型类的网站在项目我们会有很多需要在某一特定时刻自动触发某一时间的需求,例如我们提交订单但未支付的超过一定时间后需要自动取消订单。 定时任务实现的几种方式: Timer:java自带的java.util.Timer类,使用这种方式允许你调度一个java.util…

在项目我们会有很多需要在某一特定时刻自动触发某一时间的需求,例如我们提交订单但未支付的超过一定时间后需要自动取消订单。

定时任务实现的几种方式:

  • Timer:java自带的java.util.Timer类,使用这种方式允许你调度一个java.util.TimerTask任务。这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。

  • ScheduledExecutorService:也是jdk自带的类;基于线程池设计的定时任务类,每个调度任务都会分配到线程池中的一个线程去执行,既任务是并发执行,互不影响。

  • Spring Task:Spring3.0以后自带的task,相当于一个轻量级的Quartz,但其使用起来比Quartz简单很多。

  • Quartz:一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂。

下面我们看一下如何通过Scheduled实现SpringBoot 的定时任务。

1. 启用定时任务

在springboot主类增加注解@EnableScheduling启用定时任务

import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication@EnableSchedulingpublic class ScheduledApplication {
    public static void main(String[] args) {        SpringApplication.run(SpringBootScheduledApplication.class, args);    }}

2.创建任务类

@Slf4j@Componentpublic class ScheduledService {    @Scheduled(cron = "0/20 * * * * *")    public void scheduled(){        log.info("1使用cron  {}",System.currentTimeMillis());    }    @Scheduled(fixedRate = 3000)    public void scheduled1() {        log.info("2使用fixedRate{}", System.currentTimeMillis());    }    @Scheduled(fixedDelay = 3000)    public void scheduled2() {        log.info("3fixedDelay{}",System.currentTimeMillis());    }}

默认为单线程,可以看到三个定时任务都已经执行,并且使同一个线程中串行执行,如果只有一个定时任务,这样做肯定没问题,当定时任务增多,如果一个任务卡死,会导致其他任务也无法执行。

3.实现多线程任务

3.1 添加配置类并启用异步事件

@Configuration@EnableAsyncpublic class ScheduledAsyncConfig {
private int corePoolSize = 20;private int maxPoolSize = 500;private int queueCapacity = 20;
@Beanpublic Executor taskExecutor() {ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();executor.setCorePoolSize(corePoolSize);executor.setMaxPoolSize(maxPoolSize);executor.setQueueCapacity(queueCapacity);executor.initialize();return executor;}}

3.2,修改2.中的定时任务的类或者方法上添加@Async​​​​​​​

@Slf4j@Component@Asyncpublic class ScheduledService {    @Scheduled(cron = "0/20 * * * * *")    public void scheduled(){        log.info("1使用cron  {}",System.currentTimeMillis());    }    @Scheduled(fixedRate = 3000)    public void scheduled1() {        log.info("2使用fixedRate{}", System.currentTimeMillis());    }    @Scheduled(fixedDelay = 3000)    public void scheduled2() {        log.info("3fixedDelay{}",System.currentTimeMillis());    }}​​​​​​​
http://www.yayakq.cn/news/807428/

相关文章:

  • 网站的tdk指的是什么宁波seo网站建设费用
  • 小企业网站建设平台wordpress 整站打包
  • 聊城网站制作价格建立门户网站多少钱
  • 深圳注明企业网站设计域名地址
  • 凡科建站登录界面专业定制网站制作公司
  • 网站建设概算网站编辑招聘
  • 设计师怎么做响应式网站重庆有哪些做网站的公司
  • 微山网站建设多少钱设计logo网站侵权吗知乎
  • 做网站百度推广如何做带后台的网站
  • 知名网站开发哪家好wordpress插件+七牛
  • 乐清市建设路小学网站那些外国网站设计图多
  • 如何做请求队列防止网站高并发网站建设事宜
  • wordpress两个站点高端网站设计公司
  • 广州市白云区建设局 网站网站设计公司 国际
  • 网站开发设计课程教案凡科建站官网网站模板
  • 浅谈博物馆网站建设意义搜索引擎营销的简称是
  • 网站建设的辅助软件小说网站源码
  • 安徽省建设部网站假发外贸网站模板
  • 网站设计应该怎么做网站幕布拍照什么样子的
  • wordpress需要什么配置文件seo优化论坛
  • tp5做企业类网站软件项目开发流程和步骤
  • 网站可以自己做吗网页版微信登陆入口
  • 网站开发常遇到客户问题wordpress全站cdn ssl
  • 微信网站特征网上给别人做设计的网站
  • 坪山网站建设平台个人如何制作网站源码
  • 做拍卖网站wordpress add_action 是什么意思
  • 企业网站建设具体步骤盘锦网站优化
  • 如何把自己写的html变成网站北京市保障性住房建设中心网站
  • 有经验的大良网站建设wordpress做文字站
  • 综合信息服务平台合肥网站的优化