[Spring] 任务调度(ScheduledExecutorTask)
实现方法:
1、简单地建立一个Java类,该类需实现Runnable接口。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
/* * Copyright (c) 2010 - OZ Wizards Group.
* All rights reserved.
*
* Created on 2012-10-15
*/
package cn.oz.oa.eduresource.tools;
import cn.oz.oa.eduresource.service.EduResourceService;
/** * 定时扫描目录任务
* @author ozHu
* @since 5.2.0
*/
public class ScanFolderTimeTask implements Runnable {
private EduResourceService eduResourceService;
public void setEduResourceService(EduResourceService eduResourceService) {
this .eduResourceService = eduResourceService;
}
@Override
public void run() {
String path= "C:\\新建文件夹" ;
try {
if ( null != eduResourceService) this .eduResourceService.createEduResource(path);
} catch (Exception e) {
e.printStackTrace();
}
}
} |
2、Spring配置如下:
1
2
3
4
5
6
7
8
9
10
11
12
|
< bean id = "eduResourceScanFolderTask" class = "org.springframework.scheduling.concurrent.ScheduledExecutorTask" >
<!-- 定义需要执行任务的类 -->
< property name = "runnable" >
< bean class = "cn.oz.oa.eduresource.tools.ScanFolderTimeTask" >
< property name = "eduResourceService" ref = "eduResourceService" />
</ bean >
</ property >
<!-- 系统启动后,延迟50秒启动该任务 -->
< property name = "delay" value = "50000" />
<!-- 每隔1小时重复执行一次该任务 -->
< property name = "period" value = "3600000" />
</ bean >
|
3、最后再配置实施该任务调度的任务(此配置应放置在web中的spring文件中)
1
2
3
4
5
6
7
8
|
< bean id = "scheduledExecutorFactoryBean" class = "org.springframework.scheduling.concurrent.ScheduledExecutorFactoryBean" >
< property name = "poolSize" value = "5" />
< property name = "scheduledExecutorTasks" >
< list >
< ref bean = "eduResourceScanFolderTask" />
</ list >
</ property >
</ bean >
|
如有多个任务,可如第一二步配置bean,然后把任务bean放到第三步list中。
相关推荐
在这个场景中,"任务调度,任务调度,任务调度"的标题强调了对这一主题的重视,而描述提到的"简单的任务调度池"暗示了我们正在讨论一种能够处理大量任务(例如300万个)的高效机制,而不会导致系统崩溃或性能严重...
《UCOSII实验-任务调度》 UCOSII,全称uC/OS-II,是一款广泛应用的嵌入式实时操作系统(RTOS),它以其高效、稳定和可移植性著称。在UCOSII中,任务调度是其核心功能之一,本实验将深入探讨这一主题。 一、UCOSII...
在本文中,我们将深入探讨如何在51单片机上实现一个简单的操作系统(OS),主要关注任务调度。这个话题基于KEIL开发环境和C51编程语言,这是一门专门针对8051系列单片机的编程语言。我们将讨论基本的OS概念,任务...
在计算机科学领域,任务调度是操作系统中的核心组件之一,它负责决定如何在多任务环境中分配处理器资源。在“算法实验3-任务调度”中,我们关注的是一个特定类型的调度问题,即在单处理器系统上处理具有期限和惩罚的...
在IT行业中,Spring框架是Java开发中的一个核心组件,它提供了丰富的功能,包括但不限于依赖注入、AOP(面向切面编程)以及我们今天要讨论的重点——任务调度。Spring的任务调度模块使得开发者能够在应用中轻松地...
在嵌入式系统设计中,任务调度是操作系统的核心部分,特别是在51单片机这种资源有限的微控制器上。本文将深入探讨合作式任务调度器的实现,它是一种早期的多任务处理方式,广泛应用于简单且实时性要求不高的场景。 ...
在IT行业中,任务调度是操作系统的核心功能之一,它在编程领域也有着广泛的应用,尤其是在并发和多线程编程中。本篇文章将详细讲解基于C++的任务调度器,并以GitHub上的开源项目"Bosma/Scheduler"作为参考,探讨其...
HEFT(Hierarchical Earliest Finish Time)算法是一种在并行计算和分布式系统中广泛使用的任务调度策略。这个算法的核心目标是最大化系统效率,通过优化任务的执行顺序来减少整体的完成时间。它特别适用于处理计算...
在IT领域,任务调度是操作系统的核心功能之一,特别是在实时操作系统(RTOS)中。然而,对于初学者来说,直接接触RTOS可能会感到困难。本主题将探讨如何使用C语言模拟任务调度,尽管这不是一个真正的RTOS实现,但能...
然后,文章提出了基于关键任务和处理器选择参数的启发式任务调度算法(HCNPSV),该算法结合列表调度和任务复制调度的思想,改进了关键任务的计算方法,并按照是否为关键任务、上行权重值递减、关联任务数递增的顺序...
《UCOSII任务调度详解》 在嵌入式操作系统领域,UCOSII(Micro-C/OS-II)是一款广泛应用的小型实时操作系统(RTOS),其高效的任务调度机制是其核心功能之一。本文将深入探讨UCOSII任务调度的原理、实现方式以及...
在IT领域,任务调度平台是不可或缺的一个组成部分,它在分布式系统、大数据处理、自动化运维等领域发挥着关键作用。本文将围绕“自己动手写任务调度平台项目源代码”这一主题,探讨任务调度平台的核心概念、设计原理...
### 网格计算中任务调度研究综述 #### 一、引言 网格计算作为当前互联网技术的重要分支,旨在解决大规模、异构资源的有效利用问题。任务调度作为网格计算的核心组成部分之一,对于提高整体系统效率、降低计算成本...
在Windows操作系统中,多任务调度是一项核心功能,它允许系统同时执行多个程序或进程,以实现高效的资源管理和用户交互。本资源"基于Windows的多任务调度代码.rar"提供了一个C++实现的多任务调度示例,这对于理解...
在嵌入式系统开发中,"TIMER_轮询_裸机定时器任务调度_"是一个重要的概念,它涉及到如何在没有操作系统支持的环境下有效地管理和执行多个定时任务。在这样的环境中,通常被称为“裸机”编程,因为没有操作系统来帮助...
云计算环境下任务调度策略的研究涉及了计算机科学与信息技术领域的多个重要知识点,这些知识点为实现云计算中心高效、稳定、安全的资源分配和任务处理提供了理论和技术支持。 1. 云计算任务调度的概念与特点 云计算...
《基于状态机的小型任务调度程序详解》 在IT领域,任务调度是系统管理的核心部分,它涉及到如何高效地分配和执行系统中的各种任务。本文将深入探讨一个名为“status_pt-1.4”的任务调度程序,该程序以其稳定性和...
Flink任务调度器是Apache Flink这一开源流处理框架的核心组件之一,它的主要职责是高效、灵活地管理和执行Flink程序中的数据处理任务。在理解Flink任务调度器之前,我们先简要介绍下Flink的基本概念。 Apache Flink...
《UCOSII实验1-1-任务调度》 UCOSII,全称为uC/OS-II,是一款广泛应用的实时操作系统(RTOS),由Micrium公司开发。这个实验是针对UCOSII进行的任务调度学习,它是理解RTOS核心机制的关键部分。任务调度是操作系统...