- 写一个要需要执行任务的类DumbJob,实现Job接口
package com.lll;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class DumbJob implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
System.err.println("DumbJob is executing.");
}
}
- 建两个配置文件quartz.properties和quartz_job.xml,放在classes下
- quartz.properties
org.quartz.scheduler.instanceName = TestScheduler
org.quartz.scheduler.instanceId = one
org.quartz.threadPool.class = org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount = 2
org.quartz.threadPool.threadPriority = 4
org.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingTriggerHistoryPlugin
org.quartz.plugin.triggHistory.triggerFiredMessage = Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}
org.quartz.plugin.triggHistory.triggerCompleteMessage = Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}
org.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin
org.quartz.plugin.jobInitializer.fileName = quartz_job.xml
org.quartz.plugin.jobInitializer.overWriteExistingJobs = false
org.quartz.plugin.jobInitializer.failOnFileNotFound = true
org.quartz.plugin.shutdownhook.class = org.quartz.plugins.management.ShutdownHookPlugin
org.quartz.plugin.shutdownhook.cleanShutdown = true
<?xml version="1.0" encoding="UTF-8"?>
<quartz>
<job>
<job-detail>
<name>helloworld</name>
<group>group1</group>
<job-class>com.lll.DumbJob</job-class>
</job-detail>
<trigger>
<cron>
<name>test</name>
<group>group1</group>
<job-name>helloworld</job-name>
<job-group>group1</job-group>
<cron-expression>0/1 * * * * ?</cron-expression>
</cron>
</trigger>
</job>
</quartz>
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>
QuartzInitializer
</servlet-name>
<servlet-class>
org.quartz.ee.servlet.QuartzInitializerServlet
</servlet-class>
<init-param>
<param-name>config-file</param-name>
<param-value>/quartz.properties</param-value>
</init-param>
<init-param>
<param-name>shutdown-on-unload</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
quartz.jar见附件,启动tomcat在控制台可看到打印的结果
分享到:
相关推荐
Quartz 可以被应用在任何 Java 应用中,但大多数情况下,它被用于构建服务端应用。 #### 2. Tomcat 启动时调用 Quartz 执行一次 根据题目中的描述,目标是在 Tomcat 启动时调用 Quartz 执行一次任务。下面将详细...
这个实例主要探讨如何使用Quartz实现自动化的任务调度,包括自动生成表达式、动态更新XML配置文件以及在Tomcat服务器上实现自动加载。 首先,Quartz的核心在于Job和Trigger。Job是实际执行的任务,而Trigger则定义...
在Tomcat环境下使用JNDI配置数据源,首先需要在`server.xml`文件中定义数据源。具体步骤如下: 1. **打开配置文件**:找到Tomcat安装目录下的`conf/server.xml`文件。 2. **添加数据源定义**:在`<Host>`标签内添加...
Quartz 1.6 是一个开源的作业调度...总之,Quartz 1.6 在 WebAPP 下的应用,结合 Tomcat 服务器,为 Java Web 开发者提供了一个强大且灵活的定时任务解决方案。通过正确配置和编程,可以轻松地实现各种定时业务逻辑。
在分布式环境中,尤其是在高可用性和负载均衡需求的场景下,Quartz可以通过集群配置实现任务的共享和均衡。本配置手册将详细介绍如何在基于内存的模式下配置Quartz集群,利用Terracotta作为分布式数据管理平台。 ...
在Tomcat上部署应用,只需要将打包好的WAR文件放入Tomcat的webapps目录下,然后启动或重启Tomcat即可。由于Quartz和Spring都是基于Servlet容器运行的,因此在Tomcat中运行非常合适,可以充分利用其性能和稳定性。 ...
通过查看源码,我们可以学习如何配置 Spring 和 Quartz,如何定义 Job 和 Trigger,以及如何在 Tomcat 下部署和运行应用。 7. **最佳实践**:为了优化性能和可维护性,推荐将 Quartz 的配置和作业定义分离,使得...
在Web环境中集成Quartz,我们需要确保其与Servlet容器如Tomcat的生命周期同步。通常,我们会创建一个初始化监听器(ServletContextListener)来启动Scheduler,并在Web应用关闭时停止Scheduler,以避免资源泄露。...
这个"quartz的helloworld"示例旨在教你如何在Tomcat服务器上配置和使用Quartz来定期执行一个简单的任务——每五秒钟打印出"Hello, World!"。 首先,Quartz的核心概念包括Job(工作)和Trigger(触发器)。Job是实际...
在Web项目中使用Quartz,可以实现后台任务的自动化执行,比如数据同步、日志清理、发送邮件等,无需用户手动触发。下面将详细介绍如何在Web项目中集成和使用Quartz。 1. **集成Quartz** - 首先,你需要在项目中...
在这种模式下,Quartz会与Spring容器协同工作,根据配置文件中的设置来执行定时任务。这种方式适合于需要与Web服务紧密结合的定时任务,例如定期清理数据库、发送邮件通知等。 项目中可能包含以下关键文件: - `pom...
3. **集群环境下的并发问题**:在多服务器的集群环境中,如果未正确配置 Quartz,可能导致各个节点都尝试执行同一个任务。 4. **恢复策略**:Quartz 提供了在失败时重试的策略,如果配置不当,可能会导致任务多次...
6. **部署项目**:将项目打包成WAR文件,部署到Tomcat等Web服务器的WEB-INF目录下,启动服务器后,Quartz就会按照配置开始执行定时任务。 在给定的压缩包文件中,`META-INF`和`WEB-INF`是WAR文件的标准目录结构。`...
在这个项目中,开发者可能已经配置好了一切必要的设置,包括Maven的pom.xml文件,用于声明项目依赖,特别是对Quartz库的依赖。Quartz库的主要组件包括Scheduler(调度器)、Job(任务)和Trigger(触发器)。...
总结起来,"quartz1.86+spring3.2测试实例"是一个演示如何在Spring环境中使用Quartz进行任务调度的示例项目。通过学习和理解这个实例,开发者可以深入理解Quartz和Spring的集成,提升在实际项目中的应用能力。
在部署过程中,确保你的应用服务器(如 Tomcat、Jetty 等)已经配置了正确版本的 Quartz JAR 文件,以及数据库驱动和 `quartz.properties` 文件。同时,`quartz2.1.6部署.docx` 文件应该提供了详细的步骤指导,包括...
在“Spring Boot + Quartz 动态管理 分布式”的场景下,Spring Boot被用来构建一个基础的、易于扩展的应用框架。 Quartz是Java平台上的开源作业调度框架,可以安排和执行周期性任务。它支持按日期、时间间隔、CRON...
接下来,我们需要在Tomcat的配置中设定定时器的启动和执行频率。这通常在`web.xml`部署描述符文件中完成。在`web.xml`中,我们可以创建一个监听器(Listener)来初始化定时器。监听器会在Web应用启动时被调用,创建...
总结,虽然SpringBoot通常建议使用内嵌的Servlet容器,但通过特定的配置,我们仍能在Tomcat6这样的较旧容器中运行SpringBoot应用。这个示例展示了如何解决版本兼容性和配置问题,帮助初学者理解SpringBoot与传统...