package com.application;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ContextListener implements ServletContextListener {
private java.util.Timer timer = null;
public void contextInitialized(ServletContextEvent event) {
timer = new java.util.Timer(true);
event.getServletContext().log("定时器已启动");
timer.schedule(new TaskTime(event.getServletContext()), 0,
1000); //60 * 60
event.getServletContext().log("已经添加任务调度表");
}
public void contextDestroyed(ServletContextEvent event) {
timer.cancel();
event.getServletContext().log("定时器销毁");
}
}
package com.application;
import java.util.Calendar;
import java.util.TimerTask;
import javax.servlet.ServletContext;
public class TaskTime extends TimerTask {
private static final int C_SCHEDULE_HOUR = 0;
private static boolean isRunning = false;
private ServletContext context = null;
public TaskTime(ServletContext context) {
this.context = context;
}
public void run() {
Calendar cal = Calendar.getInstance();
if (!isRunning) {
isRunning = true;
context.log("开始执行指定任务");
// TODO 添加自定义的详细任务,以下只是示例
int i = 0;
while (i++ < 10) {
context.log("已完成任务的" + i + "/" + 10);
}
isRunning = false;
context.log("指定任务执行结束");
// if (C_SCHEDULE_HOUR == cal.get(Calendar.HOUR_OF_DAY)) {
// isRunning = true;
// context.log("开始执行指定任务");
//
// // TODO 添加自定义的详细任务,以下只是示例
// int i = 0;
// while (i++ < 10) {
// context.log("已完成任务的" + i + "/" + 10);
// }
//
// isRunning = false;
// context.log("指定任务执行结束");
// }
} else {
context.log("上一次任务执行还未结束");
}
}
}
分享到:
相关推荐
Spring TaskScheduler则是Spring框架的一部分,提供了更简单易用的API,适合在Spring应用中进行任务调度。 Quartz使用的主要概念包括Job(任务)、Trigger(触发器)和Calendar(日历)。Job定义了要执行的任务,...
该系统允许学生从广泛的题库中随机抽取试题进行测试,确保每位学生的考试题目都是随机生成的,有效防止了抄袭作弊行为,并且能够客观公正地评估学生对知识的掌握程度以及教师的教学效果。 此外,该系统还提高了工作...
JavaWeb定时器是一种在Web应用程序中实现周期性任务的关键技术,它允许开发者安排任务在特定时间间隔内自动执行。在本项目中,我们看到的是一个简单的Java定时器,设计为每三秒执行一次。这个定时器可能是基于Java的...
- **Spring框架**:这是一个全面的后端应用管理框架,提供了依赖注入(DI)和面向切面编程(AOP)功能,同时它还集成了大量的其他框架,如数据访问、任务调度等。 - **SpringMVC**:是Spring框架的一部分,专门用于...
标题“click_javaweb_”...综上所述,"click_javaweb_"项目是一个利用JavaWeb技术构建的商品进出口管理系统,涵盖了Web开发、数据库操作、任务调度、脚本自动化等多个方面,体现了JavaWeb在企业级应用中的强大功能。
5. Spring框架:Spring是Java企业级应用的主流框架,提供依赖注入、AOP(面向切面编程)、数据访问、Web应用、任务调度等功能。SpringMVC是Spring框架的一部分,用于构建Web应用。 6. JSTL(JavaServer Pages ...
过滤器(Filter)是JavaWeb应用程序中的另一个重要组件,用于在请求到达目标资源之前或之后执行某些预处理或后处理任务。例如,系统可能有一个登录过滤器,确保只有已登录的用户才能访问特定的会计功能。过滤器还...
JavaWeb技术在现代软件开发中扮演着重要角色,尤其在构建企业级应用、管理系统等方面有着广泛的应用。本篇将详细解析一款基于JavaWeb的小区报修系统,该系统集成了百度地图定位和在线支付功能,为用户提供便捷的报修...
此外,Spring Boot项目可以通过配置`application.yml`或`application.properties`启用`@EnableScheduling`注解,来启动一个后台任务调度器,这样无需手动创建`TaskScheduler`实例。 ```yaml spring: scheduling: ...
4. **Struts2**:Struts2是一个基于MVC(Model-View-Controller)架构的开源JavaWeb框架,它简化了应用开发,提供了强大的动作调度、结果映射、拦截器等功能,有助于实现松散耦合和可测试的代码。 5. **Hibernate**...
毕业设计是学生在学习过程中的一项重要任务,这个房屋租赁网站项目不仅展示了开发者的编程技能,还体现了他们对软件工程的理解和实践能力。通过这样的项目,学生能够深入理解Web开发流程,包括需求分析、系统设计、...
Quartz是更强大的任务调度库,而`@Scheduled`注解则是Spring框架自带的简单定时任务解决方案。 1. 引入依赖: 如果选择`spring-boot-starter-scheduled`,在`pom.xml`中添加如下依赖: ```xml <groupId>org....
7. **IDE集成**:开发过程中,开发者可能使用Eclipse、IntelliJ IDEA等集成开发环境,这些IDE提供了对JavaWeb项目的良好支持,包括代码提示、调试和部署等功能。 8. **Tomcat服务器**:JavaWeb应用通常在应用服务器...
在Java Web开发中,定时任务是一项非常重要的功能,它允许我们按照预定的时间间隔执行特定的任务,...在实际开发过程中,需要根据项目的特性和需求来权衡选择哪种定时器,并合理设计任务调度逻辑,确保系统的稳定运行。
Spring的核心特性包括依赖注入(DI)和面向切面编程(AOP),此外,Spring还集成了数据访问、事务管理、邮件服务、任务调度等多种功能。Spring MVC是Spring框架的一部分,它为Web应用提供了MVC架构支持,与Struts...
JavaWeb的经典三层框架是软件架构设计中的一种常见模式,它将应用程序分解为三个独立的部分:**表示层(WEB层)**、**业务逻辑层(Business Logic层)**以及**数据访问层(Data Access层)**。 #### 表示层(WEB层...
- `spring-context.jar`:提供了上下文和依赖注入服务,包括事件、国际化、任务调度等。 - `spring-web.jar`和`spring-webmvc.jar`:分别用于Web应用的上下文和MVC(模型-视图-控制器)框架。 6. **MyBatis**: ...
JavaWeb Spring中的OpenSymphony Quartz是一个强大的定时任务框架,它为开发者提供了高度灵活的定时调度功能,能够实现复杂的定时任务管理。Quartz是基于Java的,因此它与Spring框架的集成非常自然,使得在JavaWeb...
26. 备份定时器:quartz 2.2 强大的任务调度,多线程备份数据库,任务启动关闭异步操作 27. 数据库还原:历史备份记录,还原数据库 or 单表 ,统计备份时间和文件大小 28. SQL编辑器:强大的SQL编辑器,支持编辑语句...
Servlet通常与JSP配合使用,负责处理复杂的后端任务,而JSP则专注于视图的呈现。 **JavaBean**: JavaBean是一种符合特定规范的Java类,通常用于封装数据和业务逻辑。在smbms中,JavaBean用来存储订单、商品、用户...