spring中使用quartz框架(基于内存)
来源:互联网 发布:淘宝退款贴吧 编辑:程序博客网 时间:2024/06/11 11:00
使用quartz前需要弄清楚的流程:
创建自己的任务类Task
把task注入到quartz的jobDetail中
把jobDetail注入到quartz的触发器trigger中,,一个trigger只能触发一个jobDetail
把所有的trigger注入到quartz的调度器schedule中,,schedule会根据trigger中配置的时间来统一调度
以SSM框架为例:
1、导入包:
<dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${spring.version}</version></dependency>
2、配置文件:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-3.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-3.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-3.0.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd"><!-- 系统定时任务工厂类 --><bean id="systemDescsionScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><!--把下面两个触发器注入到调度器中--><property name="triggers"><list> <ref bean="trigger1"/> <ref bean="trigger2"/></list></property><!--设置线程池的大小为4,,任务少的话,一般不设置--><property name="quartzProperties"><props><prop key="org.quartz.threadPool.threadCount">4</prop></props></property></bean><!-- 定义触发器1 --><bean id="trigger1" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail"><bean class="org.springframework.scheduling.quartz.JobDetailBean"><!--value是自己写的任务类--><property name="jobClass" value="com.itcast.service.task.Task1" /> <property name="jobDataAsMap"><map><!--entry是任务中通过spring注入的其他bean,我这里是service--><entry key="userService" value-ref="userService"/><entry key="loginService" value-ref="loginService"/></map></property></bean></property><!--触发时间--><property name="cronExpression" value="0 30 00 * * ?"/> </bean>
<!-- 定义触发器2 --><bean id="trigger2" class="org.springframework.scheduling.quartz.CronTriggerBean"><property name="jobDetail"><bean class="org.springframework.scheduling.quartz.JobDetailBean"><property name="jobClass" value="com.itcast.service.task.Task2"/></bean></property>
<!--触发时间--><property name="cronExpression" value="0 0 0 * * ?"/> </bean></beans>3、任务类:
public class Task1 implements Job{@Autowiredprivate UserService userService;@Autowiredprivate LoginService loginService;@Overridepublic void execute(JobExecutionContext context)throws JobExecutionException {//写自己的业务逻辑}catch(Exception e){}}}public class Task2 implements Job{@Overridepublic void execute(JobExecutionContext context)throws JobExecutionException {//写自己的业务逻辑}catch(Exception e){}}}基于内存的任务调度,如果服务器重启什么的,之前的记录就不在了,会根据配置重新执行。下一篇介绍quartz持久化到数据库。
阅读全文
1 0
- spring中使用quartz框架(基于内存)
- spring中使用Quartz任务调度框架
- Spring框架中的Quartz使用(详解)
- spring中使用quartz
- spring中使用quartz框架(持久化到数据库+springboot)
- Spring框架的定时器(Quartz)的配置和使用
- 基于注解使用定时框架Quartz
- 在Spring中使用Quartz
- 在Spring中使用quartz
- spring 中使用Quartz 定时器
- Spring中quartz的使用
- SSH框架中 Spring设置定时器 Quartz
- SSH框架中 Spring设置定时器 Quartz
- Spring框架中配置Quartz的教程
- Spring框架使用作业任务调度Quartz
- Spring定时框架Quartz的使用
- Spring框架中的Quartz学习使用
- spring 框架下使用quartz 定时器
- Xcode 创建.a和framework静态库
- tinyxml设计结构分析
- proxy-target-class="true" 与proxy-target-class="false"的区别
- 关于信息增益、信息熵、条件熵
- Ant生成war包
- spring中使用quartz框架(基于内存)
- 使用Python发送邮件
- HANG分析与SYSTEMDUMP分析
- Ubuntu 修复 grub
- 有关Android Handler内存泄漏分析及解决办法
- 如何在github上发起一个pull request,如何贡献代码,参与开源项目
- 动态创建多个KindEditor编辑器
- 8.3 Prove that STINGY SAT is NP-complete.
- MVC 三层架构