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 里面有各种数据库的建表语句。
相关推荐
spring+springMVC+mybatis+quartz动态定时任务
SpringBoot集成Quartz完全分布式定时任务,即插即用,不好用直接捶我! SpringBoot集成Quartz分布式定时任务 SpringBoot集成Quartz分布式定时任务
Springboot整合Quartz实现定时任务数据库动态配置,新增任务、修改cron表达式、暂停任务、恢复任务、删除任务等操作
SpringBoot集成Quartz定时任务(包含对任务的添加、暂停、删除、继续等)
Quartz1.7 动态添加、修改和删除定时任务(非spring集成版)
NULL 博文链接:https://zw7534313.iteye.com/blog/2219533
springboot整合Quartz实现动态配置定时任务源码
在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等...使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的详细介绍。
spring 集成quartz定时任务 用数据库实现quartz的集群
NULL 博文链接:https://fanshuyao.iteye.com/blog/2392350
spring2.0 使用 Quartz 必备包 里面有: quartz-all-1.5.2.jar spring-support.jar 适合:SSH框架 spring2.0 strut2.0 hibernate3.2等
Spring集成quartz跑定时任务实例 自己写的例子并为实现job 有测试的主函数,请参考http://www.blogjava.net/baoyaer/articles/155645.html 博客信息 看此代码,项目里分为两大块,com文件夹下 为上面博客相关学习...
springboot集成的quartz定时任务,直接可以运行,在数据库配置相关的任务类即可运行,SQL放在doc文件目录下
虽然可以通过属性文件(在属性文件中可以指定 JDBC 事务的数据源、全局作业和/或触发器侦听器、插件、线程池,以及更多)配置 Quartz,但它根本没有与应用程序服务器的上下文或引用集成在一起。结果就是作业不能访问...
NULL 博文链接:https://269937035.iteye.com/blog/2182979
Spring中集成的一个定时任务调度器,以备以后使用
集成了分布式任务调度框架 Quartz ,任务存储于数据库。 使用SpringMVC作为路由控制, 集成 Swagger2 提供实时 RESTful API文档。 数据持久层集成 Mybatis 框架。 使用自定义注解 @TargetDataSource 实现了多数据源...
Mybatis+Spring+SpringMVC+quartz多数据源切换 定时任务 多数据库之间同步
Quartzquartz定时任务跑批 包含Quartz Job Scheduling 学习的文档,Quartz_API的chm文档,demo(包含java例子以及集成spring的Quartz),直接能用
quartz定时任务(包含动态切换数据源),spring集成。