`
hyperprice
  • 浏览: 50829 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Quartz实现简单的定时任务.

阅读更多
项目中有这么个需求,每天晚上24点定时执行清除数据库中某张临时表的记录,刚开始采用定时器来做,但感觉有问题。后台晚上查询发现Quartz不错,就改用了Quartz来实现,以下是一点心得和实现代码,故分享给大家。

1、web.xml配置
<servlet>
		<servlet-name>QuartzInitializer</servlet-name>
		<servlet-class>
			org.quartz.ee.servlet.QuartzInitializerServlet
		</servlet-class>
		<init-param>
			<param-name>shutdown-on-unload</param-name>
			<param-value>true</param-value>
		</init-param>
		<init-param>
			<param-name>config-file</param-name>
			<param-value>quartz.properties</param-value>
		</init-param>
		<load-on-startup>2</load-on-startup>
	</servlet>

	<listener>
		<listener-class>
			QuartzServiceLoader
		</listener-class>
	</listener>


2、监听器
public class QuartzServiceLoader implements ServletContextListener {
	public void contextDestroyed(ServletContextEvent arg0) {
		try {
			// 监听器关闭时关闭Sheduler
			TestShedule.stop();
		} catch (Exception ex) {
			System.out.println(ex.getMessage());
		}

	}

	public void contextInitialized(ServletContextEvent arg0) {
		try {
			// 监听器启动时启动Sheduler
			TestShedule.run();
		} catch (Exception ex) {
			System.out.println(ex.getMessage());
		}
	}

}



3、调度实现
public class TestShedule implements Job {
	static SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();

	static Scheduler sched;

	@SuppressWarnings("static-access")
	public static void run() throws Exception {
		// 获取调度管理器
		sched = schedFact.getScheduler();
		// 创建工作
		JobDetail jobDetail = new JobDetail("myJob", sched.DEFAULT_GROUP,
				TestShedule.class);
		// 创建触发器
		CronTrigger trigger = new CronTrigger("myTrigger", "test",
				"0/10 * * * * ?"); // 每天晚上24点
		// 添加到调度管理器中
		sched.scheduleJob(jobDetail, trigger);
		// 启动调度管理器
		sched.start();
	}

	public static void stop() throws Exception {
		sched.shutdown();
	}

	public void execute(JobExecutionContext arg0) throws JobExecutionException {
		System.out.println("Hello,world!");
	}
}


还有一些关于时间和执行的配置就不发了,网上搜索下很多的。这里只是自己的一个需求,只能起到一个抛砖引玉的作用吧。
1
1
分享到:
评论

相关推荐

    C# 控制台Quartz定时任务.doc

    【Quartz定时任务】是Java领域的一个强大任务调度框架,但在C#中也有相应的实现,如标题所示,这里讨论的是C#控制台应用中使用Quartz.NET进行定时任务的实现。Quartz.NET允许开发者在应用程序中安排任务在特定时间...

    java-springboot-quartz-定时任务.zip

    在SpringBoot中定义定时任务,我们创建一个实现了`org.springframework.scheduling.Trigger`和`org.springframework.scheduling.TaskExecutor`接口的类,或者直接使用Quartz的`CronTrigger`或`SimpleTrigger`。...

    ASP.NET使用Quartz.NET实现定时任务调度

    结合使用Quartz.NET和TopShelf,我们可以构建一个在Windows服务中运行的定时任务调度系统。 Quartz.NET的特性包括: 1. **灵活的调度**:Quartz.NET支持多种调度模式,如简单触发器、cron触发器,可以按照精确时间...

    Quartz.net-定时任务 Demo

    Quartz.NET是一款强大的开源作业调度框架,用于在.NET环境中创建和执行定时任务。这个"Quartz.net-定时任务 Demo"示例将展示如何利用Quartz.NET来安排代码在指定时间后执行,比如几十分钟后的场景。 Quartz.NET的...

    spring整合java quartz实现动态定时任务的前台网页配置与管理

    可以通过quartz和spring的简单配置即可完成,但如果要改变任务的执行时间、频率,废弃任务等就需要改变配置甚至代码需要重启服务器,这里介绍一下如何通过quartz与spring的组合实现动态的改变定时任务的状态的一个...

    spring2.0 Quartz 执行每天定时任务 建议用quartz-all-1.8.4.jar更稳定,兼容性更好

    在实际开发中,你还可以使用Spring的`@Scheduled`注解来实现简单的定时任务,但如果你的需求更为复杂,比如需要灵活的调度策略或者更精细的控制,那么Quartz就是一个更好的选择。 标签中的“源码”意味着你可能需要...

    quartz-all-1.6.0.jar包定时任务jar

    Quartz的核心特性是能够创建、触发和管理定时任务,这些任务可以在指定的时间点或按照预定义的频率执行。 Quartz的主要组件包括Job(任务)、Trigger(触发器)和Scheduler(调度器)。Job是实际执行的任务,可以是...

    quartz动态控制定时任务

    这三个核心组件共同组成了Quartz的任务调度机制,使得开发人员可以通过配置简单的定时任务来实现复杂的调度策略。 Scheduler 是Quartz的核心组件,它负责调度和执行任务。Scheduler有一个任务管理器,负责维护任务...

    quartz 实现按天、按周、按月定时任务的简单demo

    在这个“quartz 实现按天、按周、按月定时任务的简单demo”中,我们将探讨如何使用 Quartz 在 Java 环境下设置按天、按周和按月的定时任务。 首先,我们需要引入 Quartz 的依赖库到项目中。通常,这可以通过 Maven ...

    C#Quartz定时任务

    【C# Quartz定时任务】是基于C#编程语言实现的一种定时任务框架,它允许开发者在.NET环境中创建和管理定时任务。这个项目是在Visual Studio 2010开发环境下编写的,提供了一个可以直接运行的示例(demo),方便快速...

    Quartz动态实现数据库任务.docx

    ### Quartz 动态实现数据库任务的关键知识点 #### 一、Quartz 概述与应用场景 Quartz 是一个全面开源的任务调度框架,它提供了强大的任务调度功能。Quartz 不仅能够定义简单或复杂的循环任务,还支持多种触发机制...

    【SpringBoot】廿五、SpringBoot中使用Quartz管理定时任务.pdf

    然后需要创建 Quartz-job 实现类,用于实现具体的定时任务逻辑。 使用 Quartz 管理定时任务可以使得我们对定时任务的管理更加方便,快捷,可以实时地查看定时任务的状态,控制定时任务的启动和停止,减少了对服务器...

    quartz 动态执行定时任务

    Quartz 是一个开源的作业调度框架,能够帮助开发者轻松地在 Java 应用程序中实现各种复杂的定时任务。它支持触发器(Trigger)、日历(Calendar)等功能,具有强大的扩展性和灵活性。 #### Quartz 动态定时任务原理...

    简单的定时任务 .NETCore3.1 WorkerService.zip

    .NET Core 3.1 Worker Service 是一个用于创建后台任务或长时间运行服务的框架,它在 .NET Core 平台上提供了一种简单的方式来实现定时任务。这个压缩包 "简单的定时任务 .NETCore3.1 WorkerService.zip" 包含了一个...

    基于SSM+quartz的定时任务管理demo

    本Demo以"基于SSM+quartz的定时任务管理"为主题,将展示如何在Spring、SpringMVC和MyBatis(SSM)框架基础上,集成Quartz作为调度引擎,实现高效灵活的定时任务管理。 **1. SSM框架简介** SSM是Spring、SpringMVC...

    quartz-2.2.0.jar.zip

    它提供了高度可配置和可扩展性,使开发人员能够轻松地创建、管理和执行定时任务。标题中的"quartz-2.2.0.jar.zip"指的是Quartz库的2.2.0版本的归档文件,该文件被压缩成ZIP格式,包含"quartz-2.2.0.jar"这个主要的...

    quartzall1.6.0jar_quartz-all-1.6.0.jar_

    这个JAR文件包含了Quartz的核心类库和其他依赖,使得你可以实现复杂的定时任务调度。 Quartz的主要功能包括: 1. **任务与触发器**:在Quartz中,任务被称为Job,触发器则是控制何时执行这些任务的规则。Job代表了...

    quartz2.2.1定时任务相关jar.zip

    Quartz是Java领域一款广泛应用的开源任务调度框架,它的主要功能是实现定时任务的管理和执行。版本2.2.1是对该框架的一次更新,它可能包含了一些性能优化、bug修复以及新特性的添加。在"quartz2.2.1定时任务相关jar....

    maven-quartz(定时任务)最简单版本

    【maven-quartz 定时任务简介】 ...通过以上步骤,你就可以在Maven项目中使用Quartz实现简单的定时任务了。Quartz还提供了丰富的功能,如任务持久化、集群支持等,可以根据项目需求进行深入研究和配置。

    spring+springMVC+mybatis+quartz动态定时任务创建

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...

Global site tag (gtag.js) - Google Analytics