国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Spring整合Quartz Job以及Spring Task的實現方法

Spring整合Quartz Job以及Spring Task的實現方法

2021-03-11 14:18java的探索之旅 JAVA教程

下面小編就為大家分享一篇Spring整合Quartz Job以及Spring Task的實現方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

Spring中常用的定時任務的主要有兩種

1、Spring整合Quartz Job

2、Spring 3.0以后自帶的Task

一、兩種定時任務的實現方式

Quartz job

1、首先編寫任務類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.yjf.job;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
 * @author yjf
 */
public class ExampleJob {
  private static final Logger logger = LoggerFactory.getLogger(ExampleJob.class);
 
  public void run() {
    logger.info("ExampleJob運行了");
  }
}

2、添加Spring整合Quartz的配置

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!--集成quartz job-->
  <!-- 定義任務的bean -->
  <bean id="exampleJob" class="com.yjf.job.ExampleJob"/>
  <!-- 指定bean的方法 -->
  <bean id="exampleJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
    <property name="targetObject" ref="exampleJob"/>
    <property name="targetMethod" value="run"/>
    <property name="concurrent" value="true"/>
  </bean>
  <!-- Quartz的觸發器分兩種 -->
  <!-- 第一種SimpleTriggerFactoryBean只支持按照一定頻度調用任務,如每隔10s一次 -->
  <!--<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">-->
    <!--<property name="jobDetail" ref="exampleJobMethod"/>-->
    <!--<property name="startDelay" value="0"/>-->
    <!--<property name="repeatInterval" value="10"/>-->
  <!--</bean>-->
  <!-- 第二種CronTriggerFactoryBean 使用cronExpression表達式可以自定義方式執行 -->
  <bean id="exampleTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="exampleJobMethod"/>
    <property name="cronExpression" value="0/10 * * * * ?"/>
  </bean>
  <!-- 配置調度工廠 -->
  <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
      <list>
        <ref bean="exampleTrigger"/>
      </list>
    </property>
  </bean>

Spring Task

1、編寫任務類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package com.yjf.job;
 
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
 
/**
 * @author yjf44568
 */
@Component
public class SearchUserJob{
  private Logger logger = LoggerFactory.getLogger(this.getClass());
 
  @Scheduled(cron = "*/5 * * * * ?")
  public void doIt(){
    logger.info("我正在做");
  }
}

2、添加task的配置文件

 

?
1
2
3
4
5
<!-- 使用注解方式配置 -->
  <!-- 啟用task定時任務 -->
  <task:annotation-driven/>
  <!--掃描job所在的包的位置 -->
  <context:component-scan base-package="com.yjf.job"/>

二、比較一下兩者的優缺點

Quartz Job特點

1、功能強大,但是配置略微繁瑣

2、Quartz每次執行都創建一個新的任務對象

3、Quartz的某次執行任務過程中拋出異常,不影響下一次任務的執行,當下一次執行時間到來時,定時器會再次執行任務。

Spring Task 特點

1、使用@Scheduled注解及少量配置實現,使用簡單

2、Task每次執行使用的是同一個任務對象

3、TimerTask一旦某個任務在執行過程中拋出異常,則整個定時器生命周期就結束,以后永遠不會再執行該定時器任務。

目前,我個人還是使用Quartz Job較多

以上這篇Spring整合Quartz Job以及Spring Task的實現方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/yjf1248829553/article/details/78872636

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲视频免费观看 | 成人国产精品视频 | 91精品国产综合久久久久久漫画 | 在线观看国产视频 | 欧美在线观看视频一区二区 | 国产精品欧美久久久 | 国产一区二区三区精品久久久 | 日韩在线观看一区 | 国产一区二区三区免费观看 | 国产99久久精品 | 午夜免费在线 | 欧美二三区 | 欧美视频网站 | av免费网站 | 欧美高清在线 | 国产精品美女久久久久久久久久久 | 午夜成人免费视频 | 久久久久99 | 精品第一页 | av中文字幕在线观看 | 欧美视频免费在线 | 欧美日韩亚洲一区二区 | 精品天堂 | 操操av | 欧美日韩在线播放 | 成人av福利 | 国产一区二区三区视频 | 2019国产精品 | 久久综合区 | 欧美精品999| 欧美一区二区三区在线 | 国产成人精品一区二区 | 久久久久一区二区三区 | 国产中文| 日韩和的一区二在线 | 日日麻批免费视频40分钟 | 精品久久av | 国产精品久久久久久 | 久久亚洲综合 | 久久久久久国产一级毛片高清版 | av手机在线播放 |