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

spring配置定時任務的幾種方式總結

 更新時間:2023年12月22日 10:35:38   作者:螞蟻style  
這篇文章主要介紹了spring配置定時任務的幾種方式總結,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

網上看到好多關于定時任務的講解,以前只簡單使用過注解方式,今天項目中看到基于配置的方式實現定時任務,自己做個總結,作為備忘錄吧。

基于注解方式的定時任務

首先spring-mvc.xml的配置文件中添加約束文件

xmlns:task="http://www.springframework.org/schema/task" 
http://www.springframework.org/schema/task  
http://www.springframework.org/schema/task/spring-task-3.2.xsd 

其次需要配置注解驅動

<task:annotation-driven />

添加你添加注解的掃描包

<context:component-scan base-package="com.xxx.xxx" />

最后貼上定時任務包代碼

package com.xxx.xxx;

import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

@Component
public class xxxTask {
    @Scheduled(cron = "0/5 * * * * ? ") // 間隔5秒執(zhí)行
    public void xxx() {
        System.out.println("----定時任務開始執(zhí)行-----");
    //執(zhí)行具體業(yè)務邏輯----------  
        System.out.println("----定時任務執(zhí)行結束-----");
    }
}

基于配置的定時任務調度框架Quartz

引入依賴

<dependency>
  <groupId>org.quartz-scheduler</groupId>
  <artifactId>quartz</artifactId>
  <version>2.2.3</version>
</dependency>

定義一個類,方法可以寫多個為需要定時執(zhí)行的任務

public class AdminJob {
    
    public void job1() {
        System.out.pringln("執(zhí)行了任務---");
    }
}

在spring.xml配置中添加

<bean id="adminJob" class="com.xxx.xxx.AdminJob"/>
    <!--此處id值為需要執(zhí)行的定時任務方法名-->
    <bean id="job1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="adminJob"/>
        <property name="targetMethod" value="job1"/>
    </bean>
<!--此處為定時任務觸發(fā)器-->
    <bean id="job1Trigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail">
            <ref bean="job1"/>
        </property>
        <property name="cronExpression">
            <value>0 15 0 16 * ?</value>
        </property>
    </bean>
<bean id="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
        <list>
            <ref bean="job1Trigger"/>
        </list>
    </property>
    <property name="taskExecutor" ref="executor"/>
</bean>
    <bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
        <property name="corePoolSize" value="10"/>
        <property name="maxPoolSize" value="100"/>
        <property name="queueCapacity" value="500"/>
    </bean>

最后還有一種普通java的定時任務代碼

基于線程池的方式實現定時任務

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class Task3 {
  public static void main(String[] args) {
    Runnable runnable = new Runnable() {
      public void run() {
        // task to run goes here
        System.out.println("Hello !!");
      }
    };
    ScheduledExecutorService service = Executors
                    .newSingleThreadScheduledExecutor();
    service.scheduleAtFixedRate(runnable, 0, 1, TimeUnit.SECONDS);
  }
}

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 詳解Java修飾符

    詳解Java修飾符

    Java語言提供了很多修飾符,主要分為以下兩類:訪問修飾符;非訪問修飾符。修飾符用來定義類、方法或者變量,通常放在語句的最前端。我們通過下面的例子來說明,下面就跟小編一起來看下吧
    2016-12-12
  • Mybatis一對多查詢的兩種姿勢(值得收藏)

    Mybatis一對多查詢的兩種姿勢(值得收藏)

    這篇文章主要給大家介紹了關于Mybatis一對多查詢的兩種姿勢,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-05-05
  • Spring AOP注解失效的坑及JDK動態(tài)代理

    Spring AOP注解失效的坑及JDK動態(tài)代理

    這篇文章主要介紹了Spring AOP注解失效的坑及JDK動態(tài)代理,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • 如何在Java中使用支付寶SDK來獲取用戶的OpenID

    如何在Java中使用支付寶SDK來獲取用戶的OpenID

    在支付寶開放平臺中,獲取用戶的OpenID通常是在用戶授權后通過支付寶的OAuth 2.0授權流程實現的,以下是一個基本的步驟說明,以及如何在Java中使用支付寶SDK來獲取用戶的OpenID
    2024-08-08
  • java數學歸納法非遞歸求斐波那契數列的方法

    java數學歸納法非遞歸求斐波那契數列的方法

    這篇文章主要介紹了java數學歸納法非遞歸求斐波那契數列的方法,涉及java非遞歸算法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 完整B樹算法Java實現代碼

    完整B樹算法Java實現代碼

    這篇文章主要為大家詳細介紹了完整的B樹算法Java實現代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • Spring?Cloud?中使用?Sentinel?實現服務限流的兩種方式

    Spring?Cloud?中使用?Sentinel?實現服務限流的兩種方式

    這篇文章主要介紹了Spring?Cloud?中使用?Sentinel?實現服務限流的方式,通過示例代碼主要介紹了Sentinel的兩種實現限流的方式,需要的朋友可以參考下
    2024-03-03
  • Spring?Boot項目Jar包加密實戰(zhàn)教程

    Spring?Boot項目Jar包加密實戰(zhàn)教程

    本文詳細介紹了如何在Spring?Boot項目中實現Jar包加密,我們首先了解了Jar包加密的基本概念和作用,然后學習了如何使用Spring?Boot的Jar工具和第三方庫來實現Jar包的加密和解密,感興趣的朋友一起看看吧
    2024-02-02
  • SpringBoot實現Server-Sent Events(SSE)的使用完整指南

    SpringBoot實現Server-Sent Events(SSE)的使用完整指南

    使用SpringBoot實現Server-Sent Events(SSE)可以有效處理實時數據推送需求,具有單向通信、輕量級和高實時性等優(yōu)勢,本文詳細介紹了在SpringBoot中創(chuàng)建SSE端點的步驟,并通過代碼示例展示了客戶端如何接收數據,適用于實時通知、數據展示和在線聊天等場景
    2024-09-09
  • Java BIO,NIO,AIO總結

    Java BIO,NIO,AIO總結

    這篇文章主要介紹了Java BIO,NIO,AIO的相關資料,幫助大家更好的理解和學習Java,感興趣的朋友可以了解下
    2020-09-09

最新評論

姜堰市| 南京市| 方城县| 南澳县| 邛崃市| 普格县| 涟源市| 巫溪县| 淮南市| 汾西县| 长武县| 潮安县| 沁阳市| 聂拉木县| 太原市| 奉节县| 通州市| 玛多县| 大冶市| 古交市| 仁寿县| 长治县| 钦州市| 五寨县| 花垣县| 疏勒县| 玉环县| 宁津县| 兴义市| 高平市| 福鼎市| 文昌市| 曲松县| 东乌珠穆沁旗| 蛟河市| 枣阳市| 道孚县| 个旧市| 西丰县| 诏安县| 神农架林区|