java 设置定时任务的时间

最近要设置一个每隔5分钟就启动一次程序,n久之前使用的是java的time,这次因为框架的一些原因决定使用spring quartz,

配置quartz的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:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-2.0.xsd">


    <!-- 线程执行器配置,用于任务注册 -->
    <bean id="executor"
        class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
        <property name="corePoolSize" value="10" />
        <property name="maxPoolSize" value="100" />
        <property name="queueCapacity" value="500" />
    </bean>

    <!-- 要调用的工作类 -->
  	 
    <bean id="launchWorkflow" class="com.ibm.pims.module.purchasedoc.action.LaunchWorkflow"></bean>
 
    
    
    <bean id="jobtask3"
        class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="launchWorkflow" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="launchWorkflowSectionId" />
    </bean>
    
 
    <bean id="doTime3" class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobtask3" />
        <property name="cronExpression" value="0 */5 * * * ?" />
    </bean>
    
    <!--设置调度 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
    <bean id="startQuertz" lazy-init="false" autowire="no"
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
               < 
                <ref bean="doTime3" />
            </list>
        </property>
        
        <property name="taskExecutor" ref="executor" />
    </bean>

</beans>

配置好以后每5分钟就会运行一次
com.ibm.pims.module.purchasedoc.action.LaunchWorkflow包下的launchWorkflowSectionId方法

下面的是quartz的时间配置:
0 0 12 * * ?---------------在每天中午12:00触发 
0 15 10 ? * *---------------每天上午10:15 触发 
0 15 10 * * ?---------------每天上午10:15 触发 
0 15 10 * * ? *---------------每天上午10:15 触发 
0 15 10 * * ? 2005---------------在2005年中的每天上午10:15 触发 
0 * 14 * * ?---------------每天在下午2:00至2:59之间每分钟触发一次 
0 0/5 14 * * ?---------------每天在下午2:00至2:59之间每5分钟触发一次 
0 0/5 14,18 * * ?---------------每天在下午2:00至2:59和6:00至6:59之间的每5分钟触发一次 
0 0-5 14 * * ?---------------每天在下午2:00至2:05之间每分钟触发一次 
0 10,44 14 ? 3 WED---------------每三月份的星期三在下午2:00和2:44时触发 
0 15 10 ? * MON-FRI---------------从星期一至星期五的每天上午10:15触发 
0 15 10 15 * ?---------------在每个月的每15天的上午10:15触发 
0 15 10 L * ?---------------在每个月的最后一天的上午10:15触发 
0 15 10 ? * 6L---------------在每个月的最后一个星期五的上午10:15触发 
0 15 10 ? * 6L 2002-2005---------------在2002, 2003, 2004 and 2005年的每个月的最后一个星期五的上午10:15触发 
0 15 10 ? * 6#3---------------在每个月的第三个星期五的上午10:15触发 
0 0 12 1/5 * ?---------------从每月的第一天起每过5天的中午12:00时触发 
0 11 11 11 11 ?---------------在每个11月11日的上午11:11时触发.­

有用到的可以参考一下

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值