最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Spring整合Quartz Job以及Spring Task的實(shí)現(xiàn)方法

 更新時(shí)間:2017年12月25日 15:52:53   作者:java的探索之旅  
下面小編就為大家分享一篇Spring整合Quartz Job以及Spring Task的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧

Spring中常用的定時(shí)任務(wù)的主要有兩種

1、Spring整合Quartz Job

2、Spring 3.0以后自帶的Task

一、兩種定時(shí)任務(wù)的實(shí)現(xiàn)方式

Quartz job

1、首先編寫任務(wù)類

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運(yùn)行了");
  }
}

2、添加Spring整合Quartz的配置

<!--集成quartz job-->
  <!-- 定義任務(wù)的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的觸發(fā)器分兩種 -->
  <!-- 第一種SimpleTriggerFactoryBean只支持按照一定頻度調(diào)用任務(wù),如每隔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表達(dá)式可以自定義方式執(zhí)行 -->
  <bean id="exampleTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
    <property name="jobDetail" ref="exampleJobMethod"/>
    <property name="cronExpression" value="0/10 * * * * ?"/>
  </bean>
  <!-- 配置調(diào)度工廠 -->
  <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
      <list>
        <ref bean="exampleTrigger"/>
      </list>
    </property>
  </bean>

Spring Task

1、編寫任務(wù)類

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的配置文件

<!-- 使用注解方式配置 -->
  <!-- 啟用task定時(shí)任務(wù) -->
  <task:annotation-driven/>
  <!--掃描job所在的包的位置 -->
  <context:component-scan base-package="com.yjf.job"/>

二、比較一下兩者的優(yōu)缺點(diǎn)

Quartz Job特點(diǎn)

1、功能強(qiáng)大,但是配置略微繁瑣

2、Quartz每次執(zhí)行都創(chuàng)建一個(gè)新的任務(wù)對(duì)象

3、Quartz的某次執(zhí)行任務(wù)過程中拋出異常,不影響下一次任務(wù)的執(zhí)行,當(dāng)下一次執(zhí)行時(shí)間到來時(shí),定時(shí)器會(huì)再次執(zhí)行任務(wù)。

Spring Task 特點(diǎn)

1、使用@Scheduled注解及少量配置實(shí)現(xiàn),使用簡(jiǎn)單

2、Task每次執(zhí)行使用的是同一個(gè)任務(wù)對(duì)象

3、TimerTask一旦某個(gè)任務(wù)在執(zhí)行過程中拋出異常,則整個(gè)定時(shí)器生命周期就結(jié)束,以后永遠(yuǎn)不會(huì)再執(zhí)行該定時(shí)器任務(wù)。

目前,我個(gè)人還是使用Quartz Job較多

以上這篇Spring整合Quartz Job以及Spring Task的實(shí)現(xiàn)方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Spring?Boot整合?NoSQL?數(shù)據(jù)庫(kù)?Redis詳解

    Spring?Boot整合?NoSQL?數(shù)據(jù)庫(kù)?Redis詳解

    這篇文章主要為大家介紹了Spring?Boot整合?NoSQL?數(shù)據(jù)庫(kù)?Redis詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • SpringBoot3中token攔截器鏈的設(shè)計(jì)與實(shí)現(xiàn)步驟

    SpringBoot3中token攔截器鏈的設(shè)計(jì)與實(shí)現(xiàn)步驟

    本文介紹了spring boot后端服務(wù)開發(fā)中有關(guān)如何設(shè)計(jì)攔截器的思路,文中通過代碼示例和圖文講解的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-03-03
  • Quartz+Spring Boot實(shí)現(xiàn)動(dòng)態(tài)管理定時(shí)任務(wù)

    Quartz+Spring Boot實(shí)現(xiàn)動(dòng)態(tài)管理定時(shí)任務(wù)

    最近做項(xiàng)目遇到動(dòng)態(tài)管理定時(shí)任務(wù)的需求,剛拿到這個(gè)需求還真不知道從哪下手,經(jīng)過一番思考,終于找出實(shí)現(xiàn)思路,接下來通過本文給大家介紹了Quartz+Spring Boot實(shí)現(xiàn)動(dòng)態(tài)管理定時(shí)任務(wù)的相關(guān)知識(shí),需要的朋友可以參考下
    2018-09-09
  • IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新)

    IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新)

    這篇文章主要介紹了IntelliJ?IDEA?2022.2.1最新永久激活破解教程(持續(xù)更新),小編測(cè)試這種激活工具也適用idea2022以下所有版本,本篇教程整理的比較詳細(xì),匯總了idea各個(gè)版本的激活工具,激活方法多種多樣,大家選擇一種即可,感興趣的朋友跟隨小編一起看看吧
    2022-09-09
  • Java Character類的詳解

    Java Character類的詳解

    本篇文章主要詳細(xì)介紹了JAVA中 Character類 方法等,需要的朋友可以參考下
    2017-04-04
  • mybatis中oracle實(shí)現(xiàn)分頁(yè)效果實(shí)例代碼

    mybatis中oracle實(shí)現(xiàn)分頁(yè)效果實(shí)例代碼

    實(shí)現(xiàn)分頁(yè)的方式有很多,但常用的是通過SQL來顯示分頁(yè)。這篇文章主要介紹了mybatis中oracle實(shí)現(xiàn)分頁(yè)效果實(shí)例代碼,有興趣的可以了解一下。
    2017-04-04
  • Scala入門教程詳解

    Scala入門教程詳解

    這篇文章主要介紹了Scala入門教程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • SpringBoot升級(jí)3.2報(bào)錯(cuò)Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String的解決方案

    SpringBoot升級(jí)3.2報(bào)錯(cuò)Invalid value type for 

    這篇文章給大家介紹了SpringBoot升級(jí)3.2報(bào)錯(cuò)Invalid value type for attribute ‘factoryBeanObjectType‘: java.lang.String的解決方案,文中有詳細(xì)的原因分析,需要的朋友可以參考下
    2023-12-12
  • Java強(qiáng)制轉(zhuǎn)化示例代碼詳解

    Java強(qiáng)制轉(zhuǎn)化示例代碼詳解

    這篇文章主要介紹了Java編程語言中的類型轉(zhuǎn)換,包括基本類型之間的強(qiáng)制類型轉(zhuǎn)換和引用類型的強(qiáng)制類型轉(zhuǎn)換,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-03-03
  • 記錄jdk21連接SQLServer因?yàn)門LS協(xié)議報(bào)錯(cuò)問題

    記錄jdk21連接SQLServer因?yàn)門LS協(xié)議報(bào)錯(cuò)問題

    在使用Druid連接池連接SQL Server時(shí),可能會(huì)遇到因TLS版本不匹配導(dǎo)致的連接失敗問題,具體表現(xiàn)為客戶端使用TLS1.3或TLS1.2,而SQL Server僅支持TLS1.0,導(dǎo)致無法建立安全連接,解決方法是修改JDK的安全配置,啟用TLS1.0
    2024-10-10

最新評(píng)論

息烽县| 衡南县| 揭东县| 阳原县| 安溪县| 平顶山市| 民勤县| 蕉岭县| 汝城县| 醴陵市| 宿松县| 木兰县| 宁夏| 永平县| 特克斯县| 灵寿县| 秦皇岛市| 福泉市| 邹平县| 辽阳市| 龙里县| 绥芬河市| 黎城县| 南溪县| 迁西县| 城口县| 沭阳县| 循化| 斗六市| 安新县| 公安县| 鄂温| 屏南县| 垣曲县| 横峰县| 手游| 婺源县| 佛冈县| 金塔县| 临海市| 渭源县|