`

quartz 集成 spring 的定时任务

 
阅读更多

spring-context.xml:

 

 

	<!-- 定时任务触发器 -->
	<bean id="commentJobQuartz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false" autowire="no">
	    <property name="dataSource">
             <ref bean="dataSource"/>
         </property>  
		 <property name="triggers">  
            <list>  
                <!--  触发器列表 -->  
                <ref bean="simpleJobTask" />  
            </list>  
        </property>
        <property name="configLocation" value="classpath:config/quartz.properties" />
	</bean>
    
     <!-- 简单定时任务 -->    
	<bean id="simpleJobTask" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="simpleJob" />
		</property>
		<property name="startDelay">
         <value>100</value>
      	</property>
		<!-- cron表达式   示例:0 31 15 ? * * 每天15点31分触发 -->
		<property name="cronExpression">
			<value>0 31 15 ? * * </value>
		</property>
	</bean>
	<bean id="simpleJob" class="org.springframework.scheduling.quartz.JobDetailBean">
		<!-- 调用的类 -->
		<property name="jobClass" value="com.company.task.SimpleJob"/>
	</bean>	  

 

quartz.properties:

#org.quartz.scheduler.instanceName = Mscheduler    
org.quartz.scheduler.instanceId=AUTO
#============================================================================    
# Configure ThreadPool      
#============================================================================     
orgorg.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=3
org.quartz.threadPool.threadPriority=5
#============================================================================    
# Configure JobStore      
#============================================================================    
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreCMT
#orgorg.quartz.jobStore.class = org.quartz.impl.jdbcjobstore.JobStoreTX    
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.useProperties=true
org.quartz.jobStore.dataSource=myDS
org.quartz.jobStore.tablePrefix=QRTZ_
org.quartz.jobStore.isClustered=false
org.quartz.jobStore.maxMisfiresToHandleAtATime=1
#============================================================================    
# Configure Datasources      
#============================================================================    
#org.quartz.dataSource.myDS.driver=org.postgresql.Driver
#org.quartz.dataSource.myDS.URL=jdbc:postgresql://10.10.33.46/huaweibus
#org.quartz.dataSource.myDS.user=postgres
#org.quartz.dataSource.myDS.password=000000
#org.quartz.dataSource.myDS.maxConnections=5

org.quartz.dataSource.myDS.driver=com.mysql.jdbc.Driver
org.quartz.dataSource.myDS.URL=jdbc:mysql://localhost:3306/carsellnet
org.quartz.dataSource.myDS.user=root
org.quartz.dataSource.myDS.password=123
org.quartz.dataSource.myDS.maxConnections=5


#============================================================================    
# Configure Plugins     
#============================================================================    
#orgorg.quartz.plugin.triggHistory.class = org.quartz.plugins.history.LoggingJobHistoryPlugin    
    
#orgorg.quartz.plugin.jobInitializer.class = org.quartz.plugins.xml.JobInitializationPlugin    
#org.quartz.plugin.jobInitializer.fileNames = jobs.xml    
#org.quartz.plugin.jobInitializer.overWriteExistingJobs = true    
#org.quartz.plugin.jobInitializer.failOnFileNotFound = true    
#org.quartz.plugin.jobInitializer.scanInterval = 10    
#org.quartz.plugin.jobInitializer.wrapInUserTransaction = false

 

定时任务测试:

package com.company.task;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;



public class SimpleJob implements Job{

	public void execute(JobExecutionContext cxt) throws JobExecutionException {
		LOGGER.info("SimpleJob is starting ....");
		try{
			System.out.println("SimpleJob is doing .... ");
		}catch(Exception e){
			LOGGER.error(e.getMessage(),e);
		}
	}

	/**
	 * TODO
	 */
	private static final Logger LOGGER = LoggerFactory.getLogger(SimpleJob.class);
}

 

集成之后需要用到数据库的quartz表,如果没有会报错找不到表。

 

quartz-1.8.6.tar.gz  里的docs  dbTables 里面有各种数据库的建表语句。

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Quartz+spring定时任务demo

    在 "Quartz+spring定时任务demo" 中,我们首先需要了解如何配置和集成 Quartz 与 Spring。这通常包括以下步骤: 1. **引入依赖**:在项目中添加 Quartz 和 Spring 相关的 jar 包。描述中提到的 "1128266338845696....

    Quartz+Spring定时触发器例子

    总的来说,"Quartz+Spring定时触发器例子"是一个实用的学习资源,它将帮助你理解如何在实际项目中利用Quartz和Spring来实现定时任务,提升你的后端开发能力。在实践中,你可以根据需求创建不同的Job和Trigger,以...

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

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

    quartz整合springbatch动态集群定时实现mysql参考

    在这个“quartz_springbatch_dynamic”项目中,我们将看到如何将这两个强大的工具结合起来,以实现动态集群环境中的定时任务执行,并使用MySQL作为数据存储。 Quartz是一个开源的作业调度框架,允许开发者创建、...

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

    在Spring中整合Quartz,我们可以利用Spring的管理能力,如bean的生命周期管理和事务管理,来更方便地创建和管理定时任务。 **Spring+Quartz动态定时任务创建** 将Spring与Quartz结合,我们可以方便地在运行时动态...

    ssm集成quartz完成定时任务

    SSM(Spring、SpringMVC、MyBatis)框架与Quartz的集成是Java开发中常见的一种实现定时任务的方法。Quartz是一个强大的开源作业调度框架,可以用来执行定时任务,而SSM作为主流的Java Web开发框架,为业务逻辑处理...

    spring2.0 Quartz 执行每天定时任务 普通普是执行任务

    标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...

    spring定时任务关键jar包(齐全)

    本文将详细探讨Spring定时任务的关键知识点,并与提供的jar包列表关联。 首先,Spring定时任务主要依赖于`spring-context-support`模块,这个模块包含了处理定时任务所需的类和接口。在压缩包`lib`中,应该包含了这...

    quartz2 与spring4 集成 定时任务Job

    总的来说,Quartz2与Spring4的集成提供了一种灵活且可扩展的方式来管理和执行定时任务,结合了Quartz的调度能力和Spring的容器管理优势,使得在Java应用中实现定时任务变得更加简单和高效。同时,通过源码阅读和工具...

    Spring mvc + Mybatis + quartz + swagger 定时任务管理[新增、编辑、删除、修改]

    在本项目中,Swagger被集成到Spring MVC中,使得开发者可以直观地查看和测试定时任务相关的API,提高开发效率和协作便利性。 系统的具体工作流程如下: 1. 管理员通过前端界面或Swagger接口,向服务器发送创建、...

    quartz spring动态定时任务,可以直接在tomcat上面部署运行

    Quartz是一个开源的作业调度框架,而Spring框架则为Java应用程序提供了强大的依赖注入(DI)和面向切面编程(AOP)功能,将两者结合,可以在Spring管理的bean中无缝集成定时任务。 Quartz的核心概念包括Job、...

    Spring 定时任务源码(spring 三种定时任务的实现方式)

    在Spring框架中,定时任务是实现系统自动化运行关键任务的重要工具。Spring提供了多种方式来创建和管理定时任务,...在chapter13目录下的文件可能包含了这些源码示例,你可以逐一研究,加深对Spring定时任务的理解。

    Springboot整合Quartz实现定时任务数据库动态配置

    Spring Boot作为一个轻量级的Java框架,提供了与各种定时任务库集成的能力,其中Quartz是一个广泛应用的开源作业调度框架。本篇文章将详细探讨如何在Spring Boot项目中整合Quartz,并通过MySQL数据库实现定时任务的...

    spring多个定时任务quartz配置

    在Spring框架中,Quartz是一个强大的任务调度库,可以用于执行定时任务。本文将深入探讨如何在Spring中配置Quartz以实现多个定时任务。 首先,我们需要理解Quartz的基本概念。Quartz是一个开源的工作调度框架,它...

    spring定时任务实现

    本文主要探讨了Spring中实现定时任务的三种主要方法:Java的`java.util.Timer`、Quartz库以及Spring自身的Task调度器。 首先,Java的`java.util.Timer`是一个基础的定时任务工具,它可以按照设定的频率执行任务,但...

    Spring+Quartz 从数据库中获取定时任务和定时时间,动态实现对定时任务的增删改查

    Spring框架结合Quartz库,提供了一种强大而灵活的方式来管理这些定时任务。本项目旨在演示如何利用Spring和Quartz从数据库中动态加载定时任务,并实现对它们的增删改查功能。以下是关于这个主题的详细知识讲解。 ...

    spring定时任务依赖的jar包

    2. **依赖的jar包**:实现Spring定时任务,通常需要以下10个关键的jar包: - `spring-context`: 包含了Spring的核心功能,如依赖注入(DI),AOP,事件处理等,是实现定时任务的基础。 - `spring-context-support`: ...

    spring整合quartz定时任务调度

    Spring框架作为Java领域广泛使用的轻量级框架,提供了与第三方库Quartz的整合,使得开发者能够轻松地在Spring应用中实现复杂的定时任务调度。Quartz是一款开源的作业调度框架,支持丰富的调度策略,可以满足各种定时...

    spring quartz定时任务demo

    Spring集成Quartz,使得定时任务的管理变得更加方便和灵活。 在“spring quartz定时任务demo”中,你将找到以下关键组成部分: 1. **quartz.jar**:这是Quartz库的主jar文件,包含了所有必要的类和资源,用于在...

    Spring 框架自带定时任务和Quartz定时任务

    在这两种方式中,Spring框架提供了自己的定时任务工具Spring Task,以及与专业定时任务框架Quartz集成的能力。 首先,对于Java自带的定时任务实现,我们可以使用java.util.Timer和java.util.TimerTask类。Timer类...

Global site tag (gtag.js) - Google Analytics