zoukankan      html  css  js  c++  java
  • quartz 调度

    1、POI文件中导入包
         <dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>1.8.5</version>
    <exclusions>
    <exclusion>
    <artifactId>slf4j-api</artifactId>
    <groupId>org.slf4j</groupId>
    </exclusion>
    </exclusions>
      </dependency>
    2、spring.xml 中配置
              《 jobtaskA  为 jobName》
              <bean id="jobtaskA" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
      <property name="targetObject" ref="automaticAssignQuartzJob"/>
      <property name="targetMethod" value="automaticAssignTask"/>
      </bean>
      <bean id="doTimeA" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
      <property name="jobDetail" ref="jobtaskA"/>
      <property name="startDelay" value="0"/><!-- 启动即开始执行 -->
      <property name="cronExpression" value="* * * ? * *" /><!-- 不间断执行 -->
      </bean>
     
    <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
      <property name="triggers">
      <list>
      <ref bean="doTimeA"/>
      </list>
      </property>
      </bean>
    3、service实现类中
        例如: @Service("automaticAssignQuartzJob")
                     方法:public void automaticAssignTask();  //实现类中执行方法
    4、若中途需要停止该任务一段时间
              Scheduler scheduler = schedulerFactoryBean.getScheduler();
    scheduler.pauseJob("jobtaskA", Scheduler.DEFAULT_GROUP); //暂停
    Thread.sleep(15*60*1000); //暂停15分钟后恢复
    scheduler.resumeJob("jobtaskA", Scheduler.DEFAULT_GROUP);//恢复
    注:(1). schedulerFactoryBean 是通过spring注解初始化的
            即:@Autowired
                    private SchedulerFactoryBean schedulerFactoryBean;
           (2). Scheduler.DEFAULT_GROUP是默认的分组名,也可以在spring中设定分组名
              例如:<bean id="myTrigger"  class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 
      <property name="name" value="work_default_name"/>
      <property name="group" value="work_default"/>
      <property name="jobDetail">
             <ref bean="jobDetail" />
      </property>
      <property name="cronExpression">
      <value>0/5 * * * * ?</value>
      </property>
    </bean>
    (3).不能直接用 Thread.sleep(15*60*1000); 停止某一任务,这样会把项目中所有在执行的任务都停止
    5、任务的暂停、恢复等方法可参考:http://blog.csdn.net/xpsharp/article/details/19289797
     
  • 相关阅读:
    HearthBuddy投降插件2019-11-01的使用
    正则表达式在线分析 regex online analyzer
    Tips to write better Conditionals in JavaScript
    The fileSyncDll.ps1 is not digitally signed. You cannot run this script on the current system.
    Cannot capture jmeter traffic in fiddler
    JMETER + POST + anti-forgery token
    input type color
    HearthBuddy修改系统时间
    What are all the possible values for HTTP “Content-Type” header?
    UDK性能优化
  • 原文地址:https://www.cnblogs.com/mymission/p/8034185.html
Copyright © 2011-2022 走看看