【Spring中使用SimplerTrigger】

【QuartzTask.java】

  1. package com.higgin.task;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5.  
  6. public class QuartzTask {
  7.  
  8. public QuartzTask() {
  9. System.out.println("QuartzTask 构造方法---");
  10. }
  11.  
  12. //这个就是要被SimpleTrigger定时触发执行的方法
  13. public void doSimpleTriggerTask(){
  14. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  15. System.out.println("doSimpleTriggerTask()定时执行方法:"+sdf.format(new Date()));
  16. }
  17. //这个就是要被CronTrigger定时触发执行的方法
  18. public void doCronTriggerTask(){
  19. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  20. System.out.println("doCronTriggerTask()定时执行方法:"+sdf.format(new Date()));
  21. }
  22. }

【simpleTriggerTask-spring.xml】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  6. xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  7. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  8. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  9. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  10.  
  11. <!-- 注册一个普通的bean -->
  12. <bean id="quartzTask" class="com.higgin.task.QuartzTask"></bean>
  13.  
  14. <!-- 1.制定任务信息 -->
  15. <bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  16. <!-- 设置执行对象 -->
  17. <property name="targetObject" ref="quartzTask"></property>
  18. <!-- 设置执行对象中对应的执行方法 -->
  19. <property name="targetMethod" value="doSimpleTriggerTask"></property>
  20. <!-- 是否可以同步执行:不可同步执行 -->
  21. <property name="concurrent" value="false"></property>
  22. </bean>
  23.  
  24. <!-- 2.制定任务执行时机(任务执行触发器) -->
  25. <bean id="simplerTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
  26. <!-- 设置任务详细 -->
  27. <property name="jobDetail" ref="myJobDetail"></property>
  28. <!-- 设置任务延迟执行时间 :延迟2秒后执行(每隔2秒执行一次)-->
  29. <property name="repeatInterval" value="2000"></property>
  30. </bean>
  31.  
  32. <!-- 3.设置调度工厂 -->
  33. <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  34. <!-- 可以通过该属性注册多个Trigger -->
  35. <property name="triggers">
  36. <list>
  37. <ref bean="simplerTrigger"/>
  38. </list>
  39. </property>
  40. </bean>
  41.  
  42. </beans>

【CronTriggerTest.java】

  1. package com.higgin.test;
  2.  
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5.  
  6. public class CronTriggerTest {
  7. public static void main(String[] args) {
  8. ApplicationContext context =new ClassPathXmlApplicationContext("cronTriggerTask-spring.xml");
  9. }
  10. }

【运行结果】

【Spring中使用CronTrigger】

【QuartzTask.java,同上】

  1. package com.higgin.task;
  2.  
  3. import java.text.SimpleDateFormat;
  4. import java.util.Date;
  5.  
  6. public class QuartzTask {
  7.  
  8. public QuartzTask() {
  9. System.out.println("QuartzTask 构造方法---");
  10. }
  11.  
  12. //这个就是要被SimpleTrigger定时触发执行的方法
  13. public void doSimpleTriggerTask(){
  14. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  15. System.out.println("doSimpleTriggerTask()定时执行方法:"+sdf.format(new Date()));
  16. }
  17. //这个就是要被CronTrigger定时触发执行的方法
  18. public void doCronTriggerTask(){
  19. SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  20. System.out.println("doCronTriggerTask()定时执行方法:"+sdf.format(new Date()));
  21. }
  22. }

【cronTriggerTask-spring.xml】

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
  6. xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  7. http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
  8. http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
  9. http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  10.  
  11. <!-- 注册一个普通的bean -->
  12. <bean id="quartzTask" class="com.higgin.task.QuartzTask"></bean>
  13.  
  14. <!-- 1.制定任务信息 -->
  15. <bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
  16. <!-- 设置执行对象 -->
  17. <property name="targetObject" ref="quartzTask"></property>
  18. <!-- 设置执行对象中对应的执行方法 -->
  19. <property name="targetMethod" value="doCronTriggerTask"></property>
  20. <!-- 是否可以同步执行:不可同步执行 -->
  21. <property name="concurrent" value="false"></property>
  22. </bean>
  23.  
  24. <!-- 2.制定任务执行时机(任务执行触发器) -->
  25. <bean id="cronTrigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
  26. <!-- 设置任务详细 -->
  27. <property name="jobDetail" ref="myJobDetail"></property>
  28. <!-- 设置任务执行时机,cron表达式-->
  29. <property name="cronExpression" value="0/3 * * * * ?"></property>
  30. </bean>
  31.  
  32. <bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerBean">
  33. <!-- 设置任务详细 -->
  34. <property name="jobDetail" ref="myJobDetail"></property>
  35. <!-- 设置任务执行时机,cron表达式 :秒 分 时 日 月 周 年(可选) -->
  36. <property name="cronExpression" value="0 21 16 20C * ?"></property>
  37. </bean>
  38.  
  39. <!-- 3.设置调度工厂 -->
  40. <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
  41. <property name="triggers">
  42. <list>
  43. <ref bean="cronTrigger1"/>
  44. <!-- <ref bean="cronTrigger2"/> -->
  45. </list>
  46. </property>
  47. </bean>
  48.  
  49. </beans>

【CronTriggerTest.java】

  1. package com.higgin.test;
  2.  
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5.  
  6. public class CronTriggerTest {
  7. public static void main(String[] args) {
  8. ApplicationContext context =new ClassPathXmlApplicationContext("cronTriggerTask-spring.xml");
  9. }
  10. }

【运行结果】

04_Spring中使用Quartz的更多相关文章

  1. 项目中使用Quartz集群分享--转载

    项目中使用Quartz集群分享--转载 在公司分享了Quartz,发布出来,希望大家讨论补充. CRM使用Quartz集群分享  一:CRM对定时任务的依赖与问题  二:什么是quartz,如何使用, ...

  2. (4) Spring中定时任务Quartz集群配置学习

    原 来配置的Quartz是通过spring配置文件生效的,发现在非集群式的服务器上运行良好,但是将工程部署到水平集群服务器上去后改定时功能不能正常运 行,没有任何错误日志,于是从jar包.JDK版本. ...

  3. Spring 中使用Quartz实现任务调度

    前言:Spring中使用Quartz 有两种方式,一种是继承特定的基类:org.springframework.scheduling.quartz.QuartzJobBean,另一种则不需要,(推荐使 ...

  4. 浅谈Spring中的Quartz配置

    浅谈Spring中的Quartz配置 2009-06-26 14:04 樊凯 博客园 字号:T | T Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz,下面就看看在 ...

  5. 10 -- 深入使用Spring -- 5...2 在Spring中使用Quartz

    10.5.2 在Spring中使用Quartz Spring 的任务调度抽象层简化了任务调度,在Quartz基础上提供了更好的调度抽象.本系统使用Quartz框架来完成任务调度,创建Quartz的作业 ...

  6. 在Jboss中使用Quartz

    Jboss EJB默认使用的定时服务是TimerService,TimerService的使用过程较为繁琐,需要使用一个无状态的serviceBean去实现scheduleTimer, timeout ...

  7. spring 中使用quartz实现定时任务

    一般开发系统,使用定时任务非常常见.当然也可以用Java实现.比如定时器.大致如下: 1: public static void main(String[] args) { 2: Timer time ...

  8. Spring中使用Quartz之MethodInvokingJobDetailFactoryBean配置任务

    Quartz是一个强大的企业级任务调度框架,Spring中继承并简化了Quartz. Spring中使用Quartz的3种方法(MethodInvokingJobDetailFactoryBean,i ...

  9. 在springboot项目中引入quartz任务调度器。

    quartz是一个非常强大的任务调度器.我们可能使用它来管理我们的项目,常见的是做业绩统计等等.当然它的功能远不止这些.我们在这里不介绍quartz的原理,下面讲讲如何在springboot中使用qu ...

随机推荐

  1. 1011 A+B 和 C (15 分)

    #include <iostream> using namespace std; int main(){ int t; cin >> t; double a, b, c; // ...

  2. [CSU1911]Card Game(FWT)

    [vjudge-CSU1911] FWT_or #include<cstring> #include<iostream> #include<algorithm> # ...

  3. [BZOJ 4488][Jsoi2015]最大公约数

    传送门 不知谁说过一句名句,我们要学会复杂度分析 #include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for( ...

  4. Kibana6.x.x源码分析--如何使用kibana的savedObjectType对象

    默认kibana插件定义了三种保存实体对象[savedObjectType],如下图所示: 要使用只需要在自己定义的app的uses属性中添加上:savedObjectTypes  即可,如下图所示: ...

  5. ul模拟select,位置,数据,是否可输入及输入提示效果都可作为参数直接传入

    转发请注明出处,虽然转发几率不大... HTML <span class="theContainer"></span> CSS body {padding: ...

  6. BZOJ - 1003 DP+最短路

    这道题被马老板毒瘤了一下,TLE到怀疑人生 //然而BZOJ上妥妥地过了(5500ms+ -> 400ms+) 要么SPFA太玄学要么是初始化block被卡到O(n^4) 不管了,不改了 另外D ...

  7. 剑指offer——面试题7:重建二叉树

    // 面试题7:重建二叉树 // 题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树.假设输 // 入的前序遍历和中序遍历的结果中都不含重复的数字.例如输入前序遍历序列{1, // 2, ...

  8. 如何写一个简单的webserver(一):最简实现

    本文主要讲述如何用C/C++在Linux环境下写一个简单的支持并发的web服务器,并不考虑服务器的健壮性.安全性.性能等一系列因素. 在本文中,该服务器仅支持GET请求. 项目地址:https://g ...

  9. zabbix 监控 tomcat

    一, 脚本监控文件 #!/bin/bash # @Function # Find out the highest cpu consumed threads of java, and print the ...

  10. 数据库保存session

    一般情况下,php.ini里的session.save_handler默认是file,也就是用文件来保存session,这种方式有几个缺点: 1.如果单靠session自己的垃圾回收机制,时间久了,保 ...