精华内容
下载资源
问答
  • Spring定时器quartz

    2019-03-18 01:05:08
    NULL 博文链接:https://ap0406708.iteye.com/blog/588695
  • Spring定时器 Quartz学习

    2018-01-18 10:53:36
    在xml中配置定时器 //注解1 01 00 00 1 * ? //注解2 启动定时器 class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 

    在xml中配置定时器

    <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

            <property name="jobDetail">
                <ref bean="equipEvaluate" />  //注解1
            </property>
            <property name="cronExpression">
                 <value>01 00 00 1 * ?</value> //注解2
            </property>

    </bean>

    启动定时器

    <bean id="scheduler"
            class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <property name="startupDelay" value="15"></property>
            <!-- 覆盖已有任务 支持重定任务执行时间 -->
            <property name="overwriteExistingJobs" value="true"></property>
            <property name="applicationContextSchedulerContextKey"
                value="applicationContext" />
            <!-- trigger在此处添加 -->
            <property name="triggers">
                <list>
                    <ref bean="cronTrigger" />
                </list>
            </property>
        </bean>

    注解:

    1.此处为你定义的要定时执行的类,该类需要继承 QuartzJobBean,并重写executeInternal方法

    举例:

    package com.bethere.ams.equip;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    import org.quartz.SchedulerContext;
    import org.springframework.context.ApplicationContext;
    import org.springframework.scheduling.quartz.QuartzJobBean;
    import com.bethere.ams.equip.service.EquipEvaluateService;

    public class EquipEvaluate extends QuartzJobBean
    {
        private static final long serialVersionUID = 1L;
        /**
         * 打印日志
         */
        protected final transient Log log = LogFactory.getLog(getClass());
            private int timeout;
            //调度工厂实例化后,经过timeout时间开始执行调度
            public void setTimeout(int timeout) {
            this.timeout = timeout;
            }
            EquipEvaluateService equipEvaluateService;
            /**
            * 要调度的具体任务
            */
            @Override
            protected void executeInternal(JobExecutionContext context)
            throws JobExecutionException {
            try{
                SchedulerContext schCtx = context.getScheduler().getContext();
                ApplicationContext appCtx = (ApplicationContext) schCtx.get("applicationContext");
                equipEvaluateService = (EquipEvaluateService) appCtx.getBean("equipEvaluateService");
                equipEvaluateService.createEvaluateBill();//此处定义要定时执行的方法
            }catch (Exception e) {
                e.printStackTrace();
            }
            }
    }

    2.cronExpression配置说明(来源:http://www.cnblogs.com/xiaopeng84/archive/2009/11/26/1611427.html)

     

    字段允许值允许的特殊字符
    0-59, - * /
    0-59, - * /
    小时0-23, - * /
    日期1-31, - * ? / L W C
    月份1-12 或者 JAN-DEC, - * /
    星期1-7 或者 SUN-SAT, - * ? / L C #
    年(可选)留空, 1970-2099, - * /
    表达式 意义
    "0 0 12 * * ?"  每天中午12点触发
    "0 15 10 ? * *"  每天上午10:15触发
    "0 15 10 * * ?"  每天上午10:15触发
    "0 15 10 * * ? *"  每天上午10:15触发
    特殊字符 意义
    *  表示所有值;
    ?  表示未说明的值,即不关心它为何值;
    -  表示一个指定的范围;
    ,  表示附加一个可能值;
    /  符号前表示开始时间,符号后表示每次递增的值;
    L("last")  ("last") "L" 用在day-of-month字段意思是 "这个月最后一天";用在 day-of-week字段, 它简单意思是 "7" or "SAT"。如果在day-of-week字段里和数字联合使用,它的意思就是 "这个月的最后一个星期几" – 例如: "6L" means "这个月的最后一个星期五". 当我们用“L”时,不指明一个列表值或者范围是很重要的,不然的话,我们会得到一些意想不到的结果。
    W("weekday")  只能用在day-of-month字段。用来描叙最接近指定天的工作日(周一到周五)。例如:在day-of-month字段用“15W”指“最接近这个月第15天的工作日”,即如果这个月第15天是周六,那么触发器将会在这个月第14天即周五触发;如果这个月第15天是周日,那么触发器将会在这个月第16 天即周一触发;如果这个月第15天是周二,那么就在触发器这天触发。注意一点:这个用法只会在当前月计算值,不会越过当前月。“W”字符仅能在day- of-month指明一天,不能是一个范围或列表。也可以用“LW”来指定这个月的最后一个工作日。
    #  只能用在day-of-week字段。用来指定这个月的第几个周几。例:在day-of-week字段用"6#3"指这个月第3个周五(6指周五,3指第3个)。如果指定的日期不存在,触发器就不会触发。
    C  指和calendar联系后计算过的值。例:在day-of-month 字段用“5C”指在这个月第5天或之后包括calendar的第一天;在day-of-week字段用“1C”指在这周日或之后包括calendar的第一天。

    展开全文
  • spring定时器Quartz

    2015-03-23 18:21:05
    spring定时器Quartz,适合学习阶段的同学学习,可以直接运行
  • spring 定时器 quartz

    2013-02-06 16:49:19
    spring 定时器 quartz
  • Spring定时器Quartz

    千次阅读 2014-02-09 17:56:44
    Spring定时器Quartz - 简单用法

    1.applicationContext.xml

    <?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:p="http://www.springframework.org/schema/p"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans
    	 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">
    
    	<!-- 启动触发器的配置开始 -->
    	<bean name="startQuertz" lazy-init="false" autowire="no"
    		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    		<property name="triggers">
    			<list>
    				<ref bean="myTaskTrigger" />
    			</list>
    		</property>
    	</bean>
    	<!-- 启动触发器的配置结束 -->
    
    	<!-- 调度的配置开始 -->
    	<!--
    		quartz-1.8以前的配置 
    	<bean id="myJobTrigger"
    		class="org.springframework.scheduling.quartz.CronTriggerBean">
    		<property name="jobDetail">
    			<ref bean="myJobDetail" />
    		</property>
    		<property name="cronExpression">
    			<value>0/1 * * * * ?</value>
    		</property>
    	</bean>
    	-->
    	<!-- quartz-2.x的配置 -->
    	<bean id="myTaskTrigger"
    		class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    		<property name="jobDetail">
    			<ref bean="myTaskDetail" />
    		</property>
    		<property name="cronExpression">
    			<value>0 0/30 1,2,3,4,5,6 * * ?</value>
    		</property>
    	</bean>
    	<!-- 调度的配置结束 -->
    
    	<!-- task的配置开始 -->
    	<bean id="myTaskDetail"
    		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    		<property name="targetObject">
    			<ref bean="myTask" />
    		</property>
    		<property name="targetMethod">
    			<value>work</value>
    		</property>
    	</bean>
    	<!-- task的配置结束 -->
    
    	<!-- 工作的bean -->
    	<bean id="myTask" class="com.task.MyTask" />
    
    </beans>

    2. MyTask.java

    package com.task;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class MyTask {
    	public void work() {
    		SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
    				"yyyy-MM-dd HH:mm:ss");
    		String date = simpleDateFormat.format(new Date());
    		System.out.println(date);
    	}
    }

    3. web.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
      	
      	<!-- Spring config start -->  
        <context-param>  
            <param-name>contextConfigLocation</param-name>  
            <param-value>/WEB-INF/classes/applicationContext.xml</param-value>  
        </context-param>  
      
        <listener>  
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  
        </listener>
          
    </web-app>

    4. 所需jar

    5.相关资源

    关于Quartz的jar包:http://download.csdn.net/detail/dabing69221/6907435

    关于Quartz的Cron表达式的用法: http://blog.csdn.net/dabing69221/article/details/19012581

    展开全文
  • spring配置文件bean处配置属性 10 * * * * ? * value值用的是cron表达式 在线cron生成器http://www.becron.com/ 看下面解释看不懂的,不熟悉规则的,新手也可以快速得到想要的cron表达式。 按顺序依次为  ...
    spring配置文件bean处配置属性<property name="cronExpression">            
    

    <value>10 * * * * ? *</value>

    value值用的是cron表达式

    在线cron生成器http://www.becron.com/  看下面解释看不懂的,不熟悉规则的,新手也可以快速得到想要的cron表达式。

    按顺序依次为 
    秒(0~59) 
    分钟(0~59) 
    小时(0~23) 
    天(月)(0~31,但是你需要考虑你月的天数)
    月(0~11) 
    天(星期)(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT) 
    7.年份(1970-2099) 

    其中每个元素可以是一个值(如6),一个连续区间(9-12),一个间隔时间(8-18/4)(/表示每隔4小时),一个列表(1,3,5),通配符。由于"月份中的日期"和"星期中的日期"这两个元素互斥的,必须要对其中一个设置?. 
    0 0 10,14,16 * * ? 每天上午10点,下午2点,4点 
    0 0/30 9-17 * * ?   朝九晚五工作时间内每半小时 
    0 0 12 ? * WED 表示每个星期三中午12点 
    有些子表达式能包含一些范围或列表 
    例如:子表达式(天(星期))可以为 “MON-FRI”,“MON,WED,FRI”,“MON-WED,SAT” 
    “*”字符代表所有可能的值 
    因此,“*”在子表达式(月)里表示每个月的含义,“*”在子表达式(天(星期))表示星期的每一天 

    “/”字符用来指定数值的增量 
    例如:在子表达式(分钟)里的“0/15”表示从第0分钟开始,每15分钟 
             在子表达式(分钟)里的“3/20”表示从第3分钟开始,每20分钟(它和“3,23,43”)的含义一样 

    “?”字符仅被用于天(月)和天(星期)两个子表达式,表示不指定值 
    当2个子表达式其中之一被指定了值以后,为了避免冲突,需要将另一个子表达式的值设为“?” 

    “L” 字符仅被用于天(月)和天(星期)两个子表达式,它是单词“last”的缩写 
    但是它在两个子表达式里的含义是不同的。 
    在天(月)子表达式中,“L”表示一个月的最后一天 
    在天(星期)自表达式中,“L”表示一个星期的最后一天,也就是SAT 
    如果在“L”前有具体的内容,它就具有其他的含义了 
    例如:“6L”表示这个月的倒数第6天,“FRIL”表示这个月的最一个星期五 
    注意:在使用“L”参数时,不要指定列表或范围,因为这会导致问题 


    还有另一种<property name="repeatInterval">            
    <value>30000</value>  

    单位是毫秒

    展开全文
  • Spring集成Quartz定时器

    千次阅读 2019-04-25 10:33:59
    一、什么是Quartzquartz是一个由java编写的任务调度库。它能用来干什么? 1、每天定时发送系统邮件 ...spring整合配置quartz定时器任务非常的简单 1、首先导入spring quartz的jar包 <dep...

    一、什么是Quartz?
    quartz是一个由java编写的任务调度库。它能用来干什么?
    1、每天定时发送系统邮件
    2、在指定时候发送短信给用户
    等等…
    这些问题总结起来就是:在某一个有规律的时间点干某件事。并且时间的触发的条件可以非常复杂。

    二、Spring整合配置Quartz
    spring整合配置quartz定时器任务非常的简单
    1、首先导入spring quartz的jar包

    <dependency>
                <groupId>org.quartz-scheduler</groupId>
                <artifactId>quartz</artifactId>
                <version>2.3.0</version>
            </dependency>
    

    2、创建spring-quartz.xml文件,并在web.xml中能够扫描得到spring-quartz.xml文件
    web.xml

    <context-param>
    	<param-name>contextConfigLocation</param-name>
    	<param-value>classpath:spring/spring-quartz.xml</param-value>
    </context-param>
    
    <listener>
    	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    

    3、创建spring-quartz.xml。
    quartz定时任务分为简单触发器任务触发器(任务触发器用得多),简单触发器可以做一些简单的任务处理,任务触发器可以做非常复杂的定时任务。

    简单触发器配置代码如下:
    (quartz简单触发器主要用于处理每隔多少分钟,多少天等这样简单的任务,和java中的Timer类的功能一样)

    <?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:p="http://www.springframework.org/schema/p"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:mvc="http://www.springframework.org/schema/mvc"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
        
         <!--注入任务处理类bean  -->   
         <bean id="quartzTask" class="com.Jackson.MyQuartzTask"></bean> 
         
         <!-- 1.简单触发器任务详细信息bean -->   
         <bean id="myJobDetail1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
         	<!-- 设置任务执行对象 -->
         	<property name="targetObject" ref="quartzTask"></property>
         	<!-- 设置任务执行对象中对应的执行方法 -->
         	<property name="targetMethod" value="doSimpleTask"></property>
         	<!-- 设置任务是否可并发执行,默认为不并发 -->
         	<property name="concurrent" value="false"></property>
         </bean>
         
         <!-- 2.制定简单触发器 -->  
         <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
         	<!-- 设置任务详细信息 -->
         	<property name="jobDetail" ref="myJobDetail1"></property>
         	<!-- 设置延迟1秒开始执行,自己看情况 -->
         	<property name="startDelay" value="1000"></property>
         	<!-- 设置任务执行间隔,此处设置的是每5秒执行一次  -->
         	<property name="repeatInterval" value="5000"></property>
         </bean> 
         
         <!-- 设置触发器调度工厂 -->   
         <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
         	<property name="triggers">
         		<list>
         			<!-- 触发器调度工厂调度简单触发器 -->
         			<ref bean="simpleTrigger"/>
         			<!--<ref bean=""> 多个触发器可以这样配置-->
         		</list>	
         	</property>
         </bean> 
    </beans>
    

    cron任务触发器配置代码
    quartz任务触发器需要用到quartz表达式,quartz表达式用于设定任务在什么时候执行.

    <?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:p="http://www.springframework.org/schema/p"
    	xmlns:context="http://www.springframework.org/schema/context"
    	xmlns:mvc="http://www.springframework.org/schema/mvc"
    	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
        
         <!--注入任务处理类bean  -->   
         <bean id="quartzTask" class="com.Jackson.MyQuartzTask"></bean> 
         
         <!-- 2.任务触发器详细信息bean -->
         <bean id="myJobDetail2" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
         	<!-- 设置任务执行对象 -->
         	<property name="targetObject" ref="quartzTask"></property>
         	<!-- 设置任务执行对象中对应的执行方法 -->
         	<property name="targetMethod" value="doCronTask"></property>
         	<!-- 设置任务是否可并发执行,默认为不并发 -->
         	<property name="concurrent" value="false"></property>
         </bean>
         
         <!-- 2.任务触发器 -->
         <bean id="cronTrigger2" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
         	<!-- 设置任务详细信息 -->
         	<property name="jobDetail" ref="myJobDetail2"></property>
         	<!-- 设置quartz任务执行表达式 ,每隔三秒执行一次任务-->
         	<property name="cronExpression" value="0/3 * * * * ?"></property>
         </bean>
         
         <!-- 设置触发器调度工厂 -->   
         <bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
         	<property name="triggers">
         		<list>
         			<!-- 触发器调度工厂调度简单触发器 -->
         			<ref bean="cronTrigger2"/>
    			<!--<rel bean=""> 多个触发器可以这样配置-->
         		</list>	
         	</property>
         </bean> 
    </beans>
    

    星号(*):可用在所有字段中,表示对应时间域的每一个时刻,例如, 在分钟字段时,表示“每分钟”;

    问号(?):该字符只在日期和星期字段中使用,它通常指定为“无意义的值”,相当于点位符;

    减号(-):表达一个范围,如在小时字段中使用“10-12”,则表示从10到12点,即10,11,12;

    逗号(,):表达一个列表值,如在星期字段中使用“MON,WED,FRI”,则表示星期一,星期三和星期五;

    斜杠(/):x/y表达一个等步长序列,x为起始值,y为增量步长值。如在分钟字段中使用0/15,则表示为0,15,30和45秒,而5/15在分钟字段中表示5,20,35,50,你也可以使用*/y,它等同于0/y;

    L:该字符只在日期和星期字段中使用,代表“Last”的意思,但它在两个字段中意思不同。L在日期字段中,表示这个月份的最后一天,如一月的31号,非闰年二月的28号;如果L用在星期中,则表示星期六,等同于7。但是,如果L出现在星期字段里,而且在前面有一个数值X,则表示“这个月的最后X天”,例如,6L表示该月的最后星期五;

    W:该字符只能出现在日期字段里,是对前导日期的修饰,表示离该日期最近的工作日。例如15W表示离该月15号最近的工作日,如果该月15号是星期六,则匹配14号星期五;如果15日是星期日,则匹配16号星期一;如果15号是星期二,那结果就是15号星期二。但必须注意关联的匹配日期不能够跨月,如你指定1W,如果1号是星期六,结果匹配的是3号星期一,而非上个月最后的那天。W字符串只能指定单一日期,而不能指定日期范围;

    LW组合:在日期字段可以组合使用LW,它的意思是当月的最后一个工作日;

    井号(#):该字符只能在星期字段中使用,表示当月某个工作日。如6#3表示当月的第三个星期五(6表示星期五,#3表示当前的第三个),而4#5表示当月的第五个星期三,假设当月没有第五个星期三,忽略不触发;

    C:该字符只在日期和星期字段中使用,代表“Calendar”的意思。它的意思是计划所关联的日期,如果日期没有被关联,则相当于日历中所有日期。例如5C在日期字段中就相当于日历5日以后的第一天。1C在星期字段中相当于星期日后的第一天。

    Cron表达式对特殊字符的大小写不敏感,对代表星期的缩写英文大小写也不敏感。

    例子
    在这里插入图片描述
    4、创建任务处理MyQuartzTask.java

    public class MyQuartzTask {
        //简单触发器运行的任务
        public void doSimpleTask(){
            System.out.println("doSimpleTask正在运行...");
        }
        
        //cron任务触发器运行的任务
        public void doCronTask(){
            System.out.println("doCronTask正在运行...");
        }
    }
    

    5、启动Tomcat(发送请求),定时任务就会启动。

    展开全文
  • 一个cron表达式有至少6个(也可能7个)有空格分隔的时间元素。 按顺序依次为 1.秒(0~59) 2.分钟(0~59) 3.小时(0~23)  4.天(月)(0~31,但是你需要考虑你月的天数) 5.月(0~11) 6.天(星期)(1~7 1=SUN ...
  • spring定时器quartz

    2017-02-13 16:01:32
    "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" abstract = "true" > < property name = "concurrent" value = "false" /> < property name = "targetMethod" value...
  • spring boot集成quartz定时器,job支持spring的依赖注入
  • Spring定时器Quartz,定时调用存储过程

    千次阅读 2017-09-25 13:59:07
    maven依赖导入: &lt;dependency&...org.quartz-scheduler&lt;/groupId&gt; &lt;artifactId&gt;quartz&lt;/artifactId&gt; &lt;version&gt;1.8.5&lt;/ve...
  • Spring定时器Quartz 集群配置

    千次阅读 2017-02-22 09:18:11
    quartz可以通过jdbc直连连接到MYSQL数据库,读取配置在数据库里的job初始化信息,并且把job通过java序列化到数据库里,这样就使得每个job信息得到了持久化,即使在jvm或者容器挂掉的情况下,也能通过数据库感知到...
  • 废话不多说,直接上代码,如下 xml配置 &lt;?xml version="...http://www.springframework.org/schema/beans"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xsi:sche...
  • Spring定时器Quartz的用法也很简单,需要引入quartz-all-1.5.2.jar java代码如下: package com.coalmine.desktop; import java.text.SimpleDateFormat; import java.util.Date; public class QuartzJob ...
  • 当前java程序中 能够实现定时的 主要有 三种 方式 ,分别是: java定时器 , spring定时器quartz定时器.下面依次讲讲他们的应用! <1>java定时器的应用。 java提供了了类java.util.TimerTask类基于线程...
  • Spring定时器Quartz的简单示例

    千次阅读 2012-11-06 12:48:09
    项目开发中用到了quartz定时器,感觉很像javaJDK中的Timer类,但是不同的是,spring提供的定时器可以按每天的固定时刻触发,或者其他的时间。触发时间比较人性化。  我自己写了个小的项目,练练手。开发Spring的...
  • 我们使用spring结合quartz去开发程序调度。Quartz框架是一个全功能、开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统。Quartz可以执行上千上万的任务调度。 quartz需要...
  • 在JavaEE系统中,我们会经常用到定时任务,比如每天凌晨生成前天报表,每一小时生成汇总数据等等,定时...使用Quartz框架无疑是非常好的选择,并且与Spring可以非常方便的集成,下面介绍它们集成方法和Cron表达式的...
  • Spring-quartz实现定时器(含代码)
  • idea 使用spring自带的定时器quartz 使用的c3p0 v0.95.2所包含的jar 亲测可用
  • Quartz的使用方式 配置文件方式 一、引入依赖 &amp;lt;!-- spring 其他依赖省略 --&amp;gt; &amp;lt;!-- https://mvnrepository.com/artifact/org.springframework/spring-context-support --&...
  • Spring Quartz 定时器任务

    千次阅读 2017-02-27 20:29:33
    Spring Quartz 定时器任务本文介绍了Spring Quartz使用定时器任务的2种方式 基于XML文件的方式 基于注解的方式 Spring Quartz部分有如下一些核心概念: Scheduler是一个计划调度器容器,容器里面可以很多的JobDetail...
  • https://www.cnblogs.com/obullxl/archive/2011/07/10/spring-quartz-cron-integration.html http://blog.csdn.net/tanyunlong_nice/article/details/53386zh081 用到了再看吧。 如果有需求,每月1号 统计一次...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,551
精华内容 3,420
关键字:

spring定时器quartz

spring 订阅