打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
项目中定时任务多个如何实现

1.定时任务多个任务的实现配置:

applicationContext-configuration.xml

<!-- 系统调度控制器 -->
    <bean id="statTask"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="shop_stat" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>
    <bean id="stat_cronTrigger"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="statTask" />
        <property name="cronExpression" value="0 */30 * * * ?" />
    </bean>

    <bean id="jobShanGou"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="shanGou_job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_shanGou"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobShanGou" />
        <property name="cronExpression" value="0 0/1 * * * ?" />
    </bean>


    <bean id="jobOrderExcel_16"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="orderExcel_16" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="true" />
    </bean>

    <bean id="job_OrderExcel_16"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobOrderExcel_16" />
        <property name="cronExpression" value="0 0 16 * * ?" />
    </bean>

    <bean id="jobOrderExcel_10"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="orderExcel_10" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="true" />
    </bean>

    <bean id="job_OrderExcel_10"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobOrderExcel_10" />
        <property name="cronExpression" value="0 0 10 * * ?" />
    </bean>


    <bean id="jobOrderStatus30"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="OrderStatus30" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="true" />
    </bean>

    <bean id="job_OrderStatus30"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobOrderStatus30" />
        <property name="cronExpression" value="0 0 0 ? * *" />
    </bean>


    <bean id="jobOrderStatus50"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="OrderStatus50" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_OrderStatus50"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobOrderStatus50" />
        <property name="cronExpression" value="0 0 0 ? * * " />
    </bean>


    <bean id="jobcouponInfo2"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="couponInfo2" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_couponInfo2"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobcouponInfo2" />
        <property name="cronExpression" value="0 0 0 ? * *" />
    </bean>


    <bean id="jobcancelOrder"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="cancelOrder" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_cancelOrder"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobcancelOrder" />
        <!--<property name="cronExpression" value="0 0/1 * * * ?" />-->
        <property name="cronExpression" value="0 0 0 ? * *" />
    </bean>


    <bean id="jobTask"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="shop_job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>
    <bean id="job_cronTrigger"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobTask" />
        <property name="cronExpression" value="1 0 0 * * ?" />
    </bean>


    <bean id="jobPYP"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="pYP_Job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_PYP"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobPYP" />
        <property name="cronExpression" value="0 0/1 * * * ?" />
    </bean>

    <!-- 刷新组员的服务状态 -->
     <bean id="jobTIME"
           class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
         <!-- 调用的类 -->
         <property name="targetObject" ref="fenDa_TimeStates" />
         <!-- 调用类中的方法 -->
         <property name="targetMethod" value="execute" />
         <property name="concurrent" value="false" />
     </bean>

     <bean id="job_times"
           class="org.springframework.scheduling.quartz.CronTriggerBean">
         <property name="jobDetail" ref="jobTIME" />
         <property name="cronExpression" value="0 0/1 * * * ?" /><!-- 每天凌晨1点执行一次  -->
         <!--<property name="cronExpression" value="0 0 1 * * ?" /><!&ndash; 每天凌晨1点执行一次  &ndash;>-->
     </bean>


    <bean id="jobFenDa"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="fenDa_otheListen_Job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_FenDa"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobFenDa" />
        <property name="cronExpression" value="0 0/10 * * * ?" />
    </bean>

    <bean id="jobTeamStatis"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="teamStatis_Job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_teamStatis"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobTeamStatis" />
        <property name="cronExpression" value="0 0 1 * * ?" />
    </bean>

    <bean id="jobRankList"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="rankList_Job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_rankList"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobRankList" />
        <property name="cronExpression" value="0 0/1 * * * ?" />
    </bean>

    <bean id="jobTASKWARNS"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="taskWarns_Job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="true" />
    </bean>

    <bean id="job_taskWarns"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobTASKWARNS" />
        <property name="cronExpression" value="0 0/1 * * * ?" /><!-- 每隔一分钟执行一次  -->
    </bean>

    <bean id="clear_table"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="clearTable_job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>
    <bean id="job_clearTable"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="clear_table" />
        <property name="cronExpression" value="0 0 1 * * ?" />
        <!--<property name="cronExpression" value="0 0/1 * * * ?" /> 每分钟执行一次-->
    </bean>

    <bean id="jobLiveRemind"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="liveRemind_Job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="true" />
    </bean>

    <bean id="job_liveRemind"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobLiveRemind" />
        <property name="cronExpression" value="0 0/1 * * * ?" /><!-- 每隔一分钟执行一次  -->
    </bean>

    <!-- 每隔一天清理一次没收的能量-->
    <bean id="clearEnergyLog"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="clear_energy_log" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_clearEnergyLog"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="clearEnergyLog" />
        <property name="cronExpression" value="0 0 1 * * ?" /><!-- 每天凌晨1点执行一次  -->
    </bean>

    <!-- 每天更新活动状态-->
    <bean id="socialCircleActivityJob"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="socialCircleActivity_job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_socialCircleActivity"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="socialCircleActivityJob" />
        <!-- 每天凌点过一秒执行一次  -->
        <property name="cronExpression" value="1 0 0 * * ?" />
        <!--<property name="cronExpression" value="0 0/1 * * * ?" />-->
    </bean>

    <bean id="jobHealthyWeek"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="job_healthyWeek" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_healthyWeekNews"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobHealthyWeek" />
        <property name="cronExpression" value="0 0 8 ? * MON" /><!-- 每周一8点执行一次  -->
        <!--<property name="cronExpression" value="0 0/1 * * * ?" />-->
    </bean>

    <bean id="jobSaveChatRecord"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="saveChatRecord_job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_saveChatRecord"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobSaveChatRecord" />
        <property name="cronExpression" value="0 0 3 * * ?" /><!-- 每天凌晨3点执行一次  -->
        <!--<property name="cronExpression" value="0 0/1 * * * ?" />-->
    </bean>

    <bean id="jobUpdateUserV2ServiceLog"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 调用的类 -->
        <property name="targetObject" ref="updateUserV2ServiceLog_job" />
        <!-- 调用类中的方法 -->
        <property name="targetMethod" value="execute" />
        <property name="concurrent" value="false" />
    </bean>

    <bean id="job_updateUserV2ServiceLog"
          class="org.springframework.scheduling.quartz.CronTriggerBean">
        <property name="jobDetail" ref="jobUpdateUserV2ServiceLog" />
        <property name="cronExpression" value="0 0 0 * * ?" /><!-- 每天凌晨3点执行一次  -->
        <!--<property name="cronExpression" value="0 0/1 * * * ?" />-->
    </bean>

    <bean id="schdulerFactory" lazy-init="false"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="job_OrderStatus30" />
                <ref bean="job_OrderStatus50" />
                <ref bean="job_couponInfo2" />
                <ref bean="job_teamStatis"/>
                <ref bean="job_times"/> <!--定时任务刷新会员-->
                <ref bean="job_cancelOrder"/>
                <ref bean="job_clearTable"/>
                <ref bean="job_clearEnergyLog"/>
                <ref bean="job_socialCircleActivity"/>
                <ref bean="job_healthyWeekNews"/>
                <!--<ref bean="job_appArticlePush"/>-->
                <ref bean="job_saveChatRecord"/>
                <ref bean="job_updateUserV2ServiceLog"/>
            </list>
        </property>
    </bean>

2.在代码中直接实现方法就可以:

 package com.shopping.view.web.action;/***
  * 刷新签约小组的服务的定时任务
  */
 @Component("fenDa_TimeStates")
 public class FenDamemberActionV2 {
     public void execute() {
         System.out.println("进入更新小组成员的任务");
     //书写自己的逻辑 处理操作就可以
  }
}

 

来源:http://www.icode9.com/content-4-233301.html
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
spring实现定时的2种方式
关于Spring定时操作的例子
Spring中的定时调度
Spring Quartz如何动态配置时间
Quartz中扩展MethodInvokingJobDetailFactoryBean实现...
spring执行定时任务
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服