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

公司网站架构东阿县建设招标网站

公司网站架构,东阿县建设招标网站,网站建设合同简单模板,高端网页设计欣赏科技感一、java.util.Timer java.util.Timer 类允许您在未来的某个时间执行一个任务#xff0c;或者在一定的时间间隔执行任务。您可以创建一个 Timer 实例#xff0c;并调用其 schedule() 方法来安排任务的执行。这种方式比较简单#xff0c;但在高并发环境下可能不够灵活。 1.…一、java.util.Timer java.util.Timer 类允许您在未来的某个时间执行一个任务或者在一定的时间间隔执行任务。您可以创建一个 Timer 实例并调用其 schedule() 方法来安排任务的执行。这种方式比较简单但在高并发环境下可能不够灵活。 1.代码实现 Timer timer new Timer();//延迟1s每个2s打印一次timer.schedule(new TimerTask() {Overridepublic void run() {System.out.println(111111111111);}}, 1000,2000);2.常用方法 二、java.util.concurrent.Executors Java 提供了 ExecutorService 和 ScheduledExecutorService 接口以及一些工厂方法来创建线程池和调度执行任务。ScheduledExecutorService 可以用于执行延迟任务或周期性任务。 1.代码实现 ScheduledExecutorService scheduledExecutorService Executors.newScheduledThreadPool(1); scheduledExecutorService.scheduleAtFixedRate(()-{System.out.println(1111111); },1,2, TimeUnit.SECONDS);2.常用方法 三、Spring Framework 定时任务 1.启用定时任务功能 在配置类上添加 EnableScheduling 注解以启用 Spring 的定时任务功能。 SpringBootApplication EnableScheduling public class Application {public static void main(String[] args) {SpringApplication.run(Application.class,args);} }2.创建定时任务方法 在 Spring 管理的 Bean 类中定义一个方法并使用 Scheduled 注解标记该方法作为定时任务。可以指定定时任务的触发时间、频率等。 RestController public class ScheduledTasksController {Scheduled(cron 0 30 9 * * ?)//每天九点半执行public void task1(){System.out.println(111111111);}Scheduled(fixedRate 5000)//每个5s执行public void task2(){System.out.println(222222222);} }3.cron表达式 每隔5秒执行一次*/5 * * * * ? 每隔1分钟执行一次0 */1 * * * ? 每天22点执行一次0 0 22 * * ? 每天凌晨1点执行一次0 0 1 * * ? 每月1号凌晨1点执行一次0 0 1 1 * ? 每月最后一天21点执行一次0 0 21 L * ? 每周星期天凌晨1点实行一次0 0 1 ? * L 在12分、13分、14分执行一次0 12,13,14 * * * ? 每天的0点、3点、5点、7点都执行一次0 0 0, 3,5,7 * * ? Java检测cron表达式 先引入quartz的jar包 dependencygroupIdorg.quartz-scheduler/groupIdartifactIdquartz/artifactIdversion2.3.2/version /dependency检测代码 boolean validExpression CronExpression.isValidExpression(cron); if (validExpression) {//cron验证通过 } else {//cron颜值失败 }四、动态配置定时时间 1.通过yml配置 问题 每次修改时间都需要重新启动服务 Component Slf4j public class DynamicScheduledTaskRegistrar {Resourceprivate TaskScheduler taskScheduler;Value(${schedule.cron})private String cronExpression;PostConstructpublic void init() {scheduleTask();}private void scheduleTask() {Runnable task () - {//业务逻辑};Trigger trigger new CronTrigger(cronExpression);taskScheduler.schedule(task, trigger);} }2.通过set动态配置 方式一 Component Slf4j public class DynamicScheduledTaskRegistrar {Resourceprivate TaskScheduler taskScheduler;private ScheduledFuture? scheduledFuture;private String cronExpression */10 * * * * *; // 默认的cron表达式PostConstructpublic void init() {scheduleTask();}private void scheduleTask() {Runnable task () - {// 这里写你的定时任务逻辑System.out.println(执行定时任务);};Trigger trigger new CronTrigger(cronExpression);scheduledFuture taskScheduler.schedule(task, trigger);}public void setCronExpression(String newCronExpression) {this.cronExpression newCronExpression;// 取消之前的定时任务并重新调度if (scheduledFuture ! null !scheduledFuture.isCancelled()) {scheduledFuture.cancel(true);}scheduleTask();} }方式二 1.首先配置taskScheduler Configuration EnableScheduling public class SchedulingConfig {Beanpublic TaskScheduler taskScheduler() {ThreadPoolTaskScheduler scheduler new ThreadPoolTaskScheduler();scheduler.setPoolSize(10); // 设置线程池大小scheduler.setThreadNamePrefix(ScheduledTask-);scheduler.initialize();return scheduler;} }2.实现SchedulingConfigurer Component Slf4j public class DynamicScheduledTask implements SchedulingConfigurer {private String cronExpression ; //cron 表达式private ScheduledFuture? scheduledFuture;private final TaskScheduler taskScheduler;public DynamicScheduledTask(TaskScheduler taskScheduler) {this.taskScheduler taskScheduler;}Overridepublic void configureTasks(ScheduledTaskRegistrar taskRegistrar) {scheduledFuture taskScheduler.schedule(this::executeTask, new CronTrigger(cronExpression));}public void setCronExpression(String cronExpression) {this.cronExpression cronExpression;// 根据新的 cron 表达式重新调度任务scheduledFuture.cancel(false);scheduledFuture taskScheduler.schedule(this::executeTask, new CronTrigger(cronExpression));}public void executeTask() {// 定时任务执行的操作System.out.println(执行定时任务);} }不足之处望海涵
http://www.pierceye.com/news/412878/

相关文章:

  • 广州市酒店网站设计交易平台网站怎么做
  • 江苏省示范校建设专题网站网站网页制作公司网站
  • 前海艾爻网站 建设磐安住房和城乡建设部网站
  • 网站程序h5电商seo是什么意思啊
  • 网站赚钱做跨境电商要什么费用
  • wordpress修改文件简单的seo网站优化排名
  • 专业网专业网站建设展示网站建设的ppt
  • 江淮网站开发商城网站 html模板
  • 上海网站制作电话淄博免费网站建设
  • 做动态在网站需要学什么宁波网站建设用什么软件
  • 靖江 建设局网站wordpress小工具缓存
  • 搜索网站的软件郑州企业展厅设计公司
  • 上海建设局官方网站做外包网站的公司是怎样的
  • 网站开发ppt方案模板wordpress如何导出数据字典
  • 网站加上视频对seo影响wordpress打开xml-rpc
  • 个人网站建设分几个步走单页面网站多少钱
  • 自己做网站详细步骤保定网站建设方案优化
  • 传奇手游网站大全9377公司网站建设安全的风险
  • 昆明建设厅网站企业管理咨询上班好吗
  • 福州做网站销售公司用vs2010做网站的好处
  • 深圳企业建站平台网站备案费一般是多少
  • 郑州哪里有做网站郑州货拉拉
  • 汽车网页制作素材滕州网站搜索引擎优化
  • 网站备案地点郓城做网站
  • 专业的外贸网站建设公司价格网站如何制作浙江
  • 东莞运营推广网站建设费用微信小程序开发需要多少钱?
  • 福州专业网站搭建排名沈阳教做网站
  • 公益网站建设方案代码需求网站
  • php网站开发步骤苏州知名网站制作开发
  • 万网免费建企业网站长春搜索引擎优化