zoukankan      html  css  js  c++  java
  • Java之ssh框架spring配置文件配置定时任务

      最近做了一个数据同步功能,要求晚上0点去定时同步数据,这是个老项目框架用的ssh,定时任务基于quartz,废话不多说,下面详细说说相关配置。

      在spring的配置文件中:

     1 <!-- 0点定时任务相关配置 -->
     2 
     3   <!-- 要调用的定时任务的工作类 -->
     4   <bean id="tjsyncData" class="com.web.action.SyncDataAction" autowire="byName"/>
     5   <!-- 总管理类 设置lazy-init='false'的话容器启动就会执行调度程序  -->
     6   <bean name="scheduler" lazy-init="false" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
     7     <property name="triggers">
     8       <!-- 引用了触发时间的bean  -->
     9       <list>
    10        <ref bean="syncDataTime"/>
    11       </list>
    12     </property>
    13   </bean>
    14   <!-- 定义触发的时间 -->
    15   <bean id="syncDataTime" class="org.springframework.scheduling.quartz.CronTriggerBean">
    16      <!-- 引用调用类的bean  -->
    17      <property name="jobDetail" ref="syncData"/>
    18      <!-- 秒 分 小时  -->
    19      <property name="cronExpression" value="0 0 0 * * ?"/>
    20   </bean>
    21 
    22     <!-- 定义调用的类和调用的类的方法 -->
    23    <bean id="syncData" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    24     <!-- 调用的类 -->
    25     <property name="targetObject" ref="tjsyncData"/>
    26     <!-- 调用类中的方法 -->
    27     <property name="targetMethod" value="syncData"/>
    28     <property name="concurrent" value="false" />
    29   </bean>

      

      Cron表达式:由6个或7个由空格分隔的时间字段组成。

    位置 时间域 取值范围 允许的特殊字符
    1 0-59 , - * /
    2 分钟 0-59 , - * /
    3 小时 0-23 , - * /
    4 日期 1-31 , - * ? / L W C
    5 月份 1-12 , - * /
    6 星期 1-7 , - * ? / L C #
    7 年份(可选) 1970-2099 , - * /

    以下是网上找的相关资料,仅供参考!

    下面是一些常用的关于时间配置的Cron表达式:

      

    每隔5秒执行一次:*/5 * * * * ?

    每隔1分钟执行一次:0 */1 * * * ?

    每天23点执行一次:0 0 23 * * ?

    每天凌晨1点执行一次:0 0 1 * * ?

    每月1号凌晨1点执行一次:0 0 1 1 * ?

     每月最后一天23点执行一次:0 0 23 L * ?

    每周星期天凌晨1点实行一次:0 0 1 ? * L

    在26分、29分、33分执行一次:0 26,29,33 * * * ?

    每天的0点、13点、18点、21点都执行一次:0 0 0,13,18,21 * * ?

    每天12点触发 :0 0 12 * * ? 
    每天10点15分触发 :0 15 10 * * ? 
    每天下午的 2点到2点59分每分触发:0 * 14 * * ?  
    每天下午的 2点到2点59分(整点开始,每隔5分触发) :0 0/5 14 * * ? 
    每天下午的 2点到2点05分每分触发:0 0-5 14 * * ? 
    每周5凌晨2点59分触发:0 59 2 ? * FRI
    从周一到周五每天上午的10点15分触发 :0 15 10 ? * MON-FRI
    每月15号上午10点15分触发 :0 15 10 15 * ?
    每月最后一天的10点15分触发:0 15 10 L * ? 
    从2002年到2005年每月最后一周的星期五的10点15分触发 :0 15 10 ? * 6L 2002-2005 
    每月的第一个中午开始每隔5天触发一次:0 0 12 1/5 * ?
    每年的11月11号 11点11分触发(光棍节):0 11 11 11 11 ?

       

      然后在要调用的定时任务的工作类中把相关定时任务的方法写好就完事儿啦,打完收工!

  • 相关阅读:
    关于 platform的文章
    S3C2440驱动篇—Linux平台设备驱动
    class_create(),class_device_create()或device_create()自动创建设备文件结点
    耳机接线图
    GNOME图形界面
    ssh登录过程中 出现 unsupport gssapiauthentication及pscp传输文件出现 ssh_init: Network error: Cannot assign requested address错误
    du和df 的使用及区别
    bash中的set指令使用说明
    qemuimg dd使用
    linux lvm卷的总结,在proxmox 5下测试验证
  • 原文地址:https://www.cnblogs.com/ailanlan/p/11250094.html
Copyright © 2011-2022 走看看