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

整合营销网站建设南昌哪里可以做企业网站

整合营销网站建设,南昌哪里可以做企业网站,郑州优化网站关键词,网页设计与制作项目教程黑马程序员在项目我们会有很多需要在某一特定时刻自动触发某一时间的需求,例如我们提交订单但未支付的超过一定时间后需要自动取消订单。 定时任务实现的几种方式: 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/555638/

相关文章:

  • google 网站收录品牌营销策划公司哪家好
  • 安徽宿州住房与建设网站网页游戏开服表265
  • 网站建设 首选百川互动网站备案服务号
  • 优购物官方网站app做旅游网站当地人服务赚钱吗
  • 福州seo网站排名推广策划案怎么写
  • 怎么自己做歌曲网站微信公众号推广2元一个
  • 网站栏目标题网络营销推广与策划课后答案
  • 海口公司网站建设网站方案制作的培训
  • 给别人做网站怎么收取费用廊坊网站开发
  • 网站口碑营销wordpress 不同侧边栏
  • 论文中小企业的网站建设商城全网推广运营公司
  • 网站开发要学多久科学数据分析网站html5
  • 尧都网站建设项目外包app
  • 山西房地产网站建设销售团队
  • 订阅号可以建设微网站搬瓦工搭建wordpress
  • 中煤建设协会网站网站关键词搜索排名怎么做
  • 编写个人网站宝山区建设用地事务所网站
  • 网站原则个人主页设计孙悟空示例
  • 网站建设与管理模拟试卷一php网站开发语言的优点
  • 用cms建网站容易吗网站首页图片轮转
  • 浅谈天猫的电子商务网站建设乌克兰军事最新消息
  • 贸易网站建设网电子商务网站建设开题报告
  • 网站开发软件系统餐饮logo创意设计
  • 微建站官网深圳建筑业网
  • 遵义网站搭建公司哪家好20元备案域名
  • 吴江网站设计wordpress 如何改中文
  • 南京英文网站制作做网站jsp和php
  • 投资者网站建设敖汉旗住房和城乡建设局网站
  • 电商网站代码设计建设局发公告的网站
  • 昌吉做网站兰州商城网站建