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

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

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

服務器之家 - 編程語言 - Java教程 - Spring實現(xiàn)動態(tài)修改時間參數(shù)并手動開啟關停操作

Spring實現(xiàn)動態(tài)修改時間參數(shù)并手動開啟關停操作

2021-01-03 15:21游魚遷徙 Java教程

spring實現(xiàn)定時任務的方式有三種,分別是java自帶的timer類、spring task和quartz三種。本文只介紹spring自帶的task和第三方quartz,感興趣的朋友參考下吧

spring實現(xiàn)定時任務的方式有三種,分別是java自帶的timer類、spring task和quartz三種。

  本文只介紹spring自帶的task和第三方quartz。spirng task可以將它比作一個輕量級的Quartz,使用起來非常簡單,除spring相關的包外不需要額外的包,而且支持注解和配置文件兩種。接著直接演示spring task注解實現(xiàn)方式。

  首先,創(chuàng)建任務類,如下:

?
1
2
3
4
5
6
7
8
9
10
11
@Component
public class MyScheduler {
  int i =0;
  public void run(){
    i++;
    // 任務邏輯 
    System.out.println("第"+(i)+"次開始執(zhí)行操作... " +"時間:【"
    + new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS").format(new Date())
    + "】");
  }
}

  接著,在spring的配置文件中添加命名空間及描述:

?
1
2
3
4
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:task="http://www.springframework.org/schema/task"
 ......
 xsi:schemaLocation="http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd">

  最后,spring配置文件來一發(fā):

?
1
2
3
<task:scheduled-tasks> 
    <task:scheduled ref="myScheduler" method="run" cron="0/5 * * * * ?"/> 
</task:scheduled-tasks>

  大功告成,可以用了,但是感覺很麻煩,也很死板,也就用來寫寫demo,那么就稍微改造一下吧。

?
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
@Service
@Lazy(false)
@EnableScheduling
public class MyScheduler extends BaseService implements SchedulingConfigurer{
  public static String cron = "0/2 * * * * ?";
  int i =0;
  @Override
  public void configureTasks(ScheduledTaskRegistrar taskRegistrar) {
    taskRegistrar.addTriggerTask(new Runnable() {
      @Override
      public void run() {
        i++;
        // 需要實現(xiàn)的任務邏輯 
        logger.info("第"+(i)+"次開始執(zhí)行操作... " +"時間:【"
        + new SimpleDateFormat("yyyy-MM-dd hh:mm:ss.SSS").format(new Date())
        + "】");
      }
    }, new Trigger(){
      @Override
      public Date nextExecutionTime(TriggerContext triggerContext) {
        //任務觸發(fā),可修改任務的執(zhí)行周期 
        CronTrigger trigger = new CronTrigger(cron);
        Date nextExec = trigger.nextExecutionTime(triggerContext);
        return nextExec; 
      }
    });
  }
}

  實現(xiàn)SchedulingConfigurer接口的configureTasks方法,如果直接啟動項目,就可以實現(xiàn)每秒5次該方法的執(zhí)行了,一旦cron參數(shù)被修改,ScheduledTaskRegistrar偵測到后會重新創(chuàng)建一個觸發(fā)器來實現(xiàn)新的cron表達式任務,這就解決了動態(tài)調(diào)度定時任務的問題了,而之前spring配置文件中關于任務類的內(nèi)容也可以刪除了。另外,你可以修改spring task的任務池來增加可同時存在的任務數(shù)量,如下:

?
1
2
3
<task:executor id="executor" pool-size="10"/>
  <task:scheduler id="scheduler" pool-size="10"/>
<task:annotation-driven scheduler="scheduler" executor="executor" proxy-target-class="true"/>

  我們在web項目中有時候需要手動關停定時任務,或者需要立即執(zhí)行定時任務具有的功能,這時的spring task就力不從心了,這也是它輕量級的原因,使用簡單,但提供的功能不夠強大,這時候就輪到Quartz出場了。Quartz是OpenSymphony開源組織在Job scheduling領域又一個開源項目,它可以與J2EE與J2SE應用程序相結合也可以單獨使用。Quartz可以用來創(chuàng)建簡單或為運行十個,百個,甚至是好幾萬個Jobs這樣復雜的程序。Jobs可以做成標準的Java組件或 EJBs。

  各位有興趣可以去參考jeecg框架的定時任務開發(fā),它對其進行了整合,使用起來及其方便。

Spring實現(xiàn)動態(tài)修改時間參數(shù)并手動開啟關停操作

  接著我們自己來整合Quartz,實現(xiàn)動態(tài)定時任務。先理清思路,1.導入jar包;2.配置spring文件;3.編寫任務代碼。

  首先導入需要的jar包,我這里使用spring 4.1.9版本及Quartz 2.2.7,對了,spring 3.1.x 以上才支持 Quartz 2.x 的jar包,原因就不細說了,各位自行百度。

總結

以上所述是小編給大家介紹的Spring實現(xiàn)動態(tài)修改時間參數(shù)并手動開啟關停操作,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網(wǎng)站的支持!

原文鏈接:http://www.cnblogs.com/huyufan/archive/2017/09/14/Spring_Quartz.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久久久久亚洲精品 | 久久久国产精品视频 | 精品国产黄a∨片高清在线 黄色大片aaaa | 一区在线观看 | 黄色片在线 | 成人免费视频在线观看 | 91精品一久久香蕉国产线看观看新通道出现 | 色www精品视频在线观看 | 国产亚洲精品美女久久久久久久久久 | 精品少妇一区二区三区在线播放 | 免费在线黄色片 | 不卡中文一区 | 激情综合网五月婷婷 | 国产精品久久久久久婷婷天堂 | 中文字幕国产一区 | 一区二区av | 精品久久中文字幕 | 成人亚洲 | 国产午夜精品美女视频明星a级 | 伊人中文 | 国产毛片一区二区 | 日本久久久久久久久久久久 | 精品久久国产 | 日韩av专区| 精品福利视频网站 | 日日躁夜夜躁狠狠躁 | 一区二区三区免费观看视频 | 看国产黄色片 | jizzz日本| 日韩午夜av| 亚洲精品综合 | 亚洲免费在线视频 | 午夜精品视频 | 欧美久久久久 | 精品天堂| 黄p在线看 | 亚洲精品国产综合99久久夜夜嗨 | 久久手机免费视频 | 国产精品久久国产精品 | 91视频免费在线看 | 亚洲高清视频在线观看 |