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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

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

服務(wù)器之家 - 編程語言 - Java教程 - SpringBoot集成ElaticJob定時器的實現(xiàn)代碼

SpringBoot集成ElaticJob定時器的實現(xiàn)代碼

2021-05-09 12:30面皮大師 Java教程

這篇文章主要介紹了SpringBoot集成ElaticJob定時器的實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了springboot集成elaticjob定時器的實現(xiàn)代碼,分享給大家,具體如下:

pom文件配置

?
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
<?xml version="1.0" encoding="utf-8"?>
<project xmlns="http://maven.apache.org/pom/4.0.0"
     xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"
     xsi:schemalocation="http://maven.apache.org/pom/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelversion>4.0.0</modelversion>
 
  <groupid>com.example</groupid>
  <artifactid>demojob</artifactid>
  <version>0.0.1-snapshot</version>
  <packaging>jar</packaging>
 
  <name>demojob</name>
  <description>demo project for spring boot</description>
 
  <parent>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-parent</artifactid>
    <version>2.0.2.release</version>
    <relativepath/> <!-- lookup parent from repository -->
  </parent>
 
  <properties>
    <project.build.sourceencoding>utf-8</project.build.sourceencoding>
    <project.reporting.outputencoding>utf-8</project.reporting.outputencoding>
    <java.version>1.8</java.version>
  </properties>
 
  <dependencies>
 
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-web</artifactid>
    </dependency>
 
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-test</artifactid>
      <scope>test</scope>
    </dependency>
 
 
    <!--elastic-job-->
    <dependency>
      <artifactid>elastic-job-common-core</artifactid>
      <groupid>com.dangdang</groupid>
      <version>2.1.5</version>
    </dependency>
    <dependency>
      <artifactid>elastic-job-lite-core</artifactid>
      <groupid>com.dangdang</groupid>
      <version>2.1.5</version>
    </dependency>
    <dependency>
      <artifactid>elastic-job-lite-spring</artifactid>
      <groupid>com.dangdang</groupid>
      <version>2.1.5</version>
    </dependency>
    <dependency>
      <artifactid>elastic-job-cloud-executor</artifactid>
      <groupid>com.dangdang</groupid>
      <version>2.1.5</version>
    </dependency>
 
 
    <!--mariadb-->
    <dependency>
      <groupid>org.mariadb.jdbc</groupid>
      <artifactid>mariadb-java-client</artifactid>
      <version>1.5.4</version>
    </dependency>
    <!--druid-->
    <dependency>
      <groupid>com.alibaba</groupid>
      <artifactid>druid-spring-boot-starter</artifactid>
      <version>1.1.9</version>
    </dependency>
    <!--mybatis plus-->
    <dependency>
      <groupid>com.baomidou</groupid>
      <artifactid>mybatisplus-spring-boot-starter</artifactid>
      <version>1.0.5</version>
    </dependency>
    <dependency>
      <groupid>com.baomidou</groupid>
      <artifactid>mybatis-plus</artifactid>
      <version>2.1.9</version>
    </dependency>
 
 
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-maven-plugin</artifactid>
      </plugin>
    </plugins>
  </build>
</project>

yaml文件配置(也可以用application.properties一樣的)

?
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
30
31
32
33
# 配置配置數(shù)據(jù)源
spring:
 datasource:
  type: com.alibaba.druid.pool.druiddatasource
  driver-class-name: org.mariadb.jdbc.driver
  name: elastic-job-event
  url: jdbc:mariadb://127.0.0.1:3306/elasticjob
  username: root
  password: 123456
  druid:
   validationquery: select 1
   initialsize: 10
   minidle: 10
   maxactive: 200
   minevictableidletimemillis: 180000
   testonborrow: false
   testwhileidle: true
   removeabandoned: true
   removeabandonedtimeout: 1800
   logabandoned: true
   poolpreparedstatements: true
   maxopenpreparedstatements: 100
 
# 配置zookeeper
regcenter:
 serverlist: localhost:2181
 namespace: hulk_order_task
 
# 配置定時器規(guī)則
simplejob:
 cron: 0/5 * * * * ?
 shardingtotalcount: 1
 shardingitemparameters: 0=1

開始寫代碼

registrycenterconfig

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.example.demojob.config;
 
import com.dangdang.ddframe.job.reg.zookeeper.zookeeperconfiguration;
import com.dangdang.ddframe.job.reg.zookeeper.zookeeperregistrycenter;
import org.springframework.beans.factory.annotation.value;
import org.springframework.boot.autoconfigure.condition.conditionalonexpression;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
 
/**
 * 注冊中心配置
 * 用于注冊和協(xié)調(diào)作業(yè)分布式行為的組件,目前僅支持zookeeper。
 * @author shudalei
 */
@configuration
@conditionalonexpression("'${regcenter.serverlist}'.length() > 0")
public class registrycenterconfig {
  @bean(initmethod = "init")
  public zookeeperregistrycenter regcenter(@value("${regcenter.serverlist}") final string serverlist,
                       @value("${regcenter.namespace}") final string namespace) {
    return new zookeeperregistrycenter(new zookeeperconfiguration(serverlist, namespace));
  }
}

jobeventconfig

?
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
package com.example.demojob.config;
 
import com.dangdang.ddframe.job.event.jobeventconfiguration;
import com.dangdang.ddframe.job.event.rdb.jobeventrdbconfiguration;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
 
import javax.annotation.resource;
import javax.sql.datasource;
 
/**
 * 如果想把作業(yè)運行的內(nèi)容寫到db中,我們需要用到另一個構(gòu)造器,
 * 同時定義自己的jobeventconfiguration,
 * 目前來說實現(xiàn)這個接口的只有一個類jobeventrdbconfiguration,
 * 通過這個可以將作業(yè)運行的痕跡進行持久化到db的操作。
 * @author shudalei
 */
@configuration
public class jobeventconfig {
  @resource
  private datasource datasource;
 
  @bean
  public jobeventconfiguration jobeventconfiguration() {
    return new jobeventrdbconfiguration(datasource);
  }
}

simplejobconfig

?
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package com.example.demojob.config;
 
import com.dangdang.ddframe.job.config.jobcoreconfiguration;
import com.dangdang.ddframe.job.config.simple.simplejobconfiguration;
import com.dangdang.ddframe.job.event.jobeventconfiguration;
import com.dangdang.ddframe.job.lite.api.jobscheduler;
import com.dangdang.ddframe.job.lite.config.litejobconfiguration;
import com.dangdang.ddframe.job.lite.spring.api.springjobscheduler;
import com.dangdang.ddframe.job.reg.zookeeper.zookeeperregistrycenter;
import com.example.demojob.job.testsimplejob;
import org.springframework.beans.factory.annotation.value;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.configuration;
 
import javax.annotation.resource;
 
@configuration
public class simplejobconfig {
 
  /**
   * 注冊中心
   */
  @resource
  private zookeeperregistrycenter regcenter;
  /**
   * job事件配置
   */
  @resource
  private jobeventconfiguration jobeventconfiguration;
 
  /**
   * 微信access token獲取任務(wù)對象
   *
   */
  @resource
  private testsimplejob simplejob;
 
  /**
   *
   * @param cron 定時任務(wù)cron配置
   * @param shardingtotalcount 任務(wù)分片數(shù)
   * @param shardingitemparameters 任務(wù)分片參數(shù)
   * @return jobscheduler 任務(wù)調(diào)度器
   */
  @bean(initmethod = "init")
  public jobscheduler simplejobscheduler(@value("${simplejob.cron}") final string cron,
                      @value("${simplejob.shardingtotalcount}") final int shardingtotalcount,
                      @value("${simplejob.shardingitemparameters}") final string shardingitemparameters) {
    return new springjobscheduler(simplejob, regcenter,
        getlitejobconfiguration(simplejob.getclass(), cron, shardingtotalcount, shardingitemparameters),
        jobeventconfiguration);
  }
 
  /**
   *
   * @param jobclass 任務(wù)調(diào)度類
   * @param cron 定時任務(wù)cron配置
   * @param shardingtotalcount 任務(wù)分片數(shù)
   * @param shardingitemparameters 任務(wù)分片參數(shù)
   * @return litejobconfiguration 任務(wù)配置
   */
  private litejobconfiguration getlitejobconfiguration(final class<? extends com.dangdang.ddframe.job.api.simple.simplejob> jobclass, final string cron,
                             final int shardingtotalcount, final string shardingitemparameters) {
    return litejobconfiguration
        .newbuilder(
            new simplejobconfiguration(jobcoreconfiguration.newbuilder(jobclass.getname(), cron, shardingtotalcount)
                .shardingitemparameters(shardingitemparameters).build(), jobclass.getcanonicalname()))
        .overwrite(true).build();
  }
}

testsimplejob,定時器任務(wù)本身

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.example.demojob.job;
 
import com.dangdang.ddframe.job.api.shardingcontext;
import com.dangdang.ddframe.job.api.simple.simplejob;
import org.springframework.stereotype.component;
 
@component
public class testsimplejob implements simplejob {
 
  private int count;
  //任務(wù)就是每5秒執(zhí)行一次控制臺輸出1,2,3……
  @override
  public void execute(shardingcontext shardingcontext) {
    count++;
    system.out.println("task " + count);
  }
}

最后在docker下安裝 zookeeper

安裝腳本compose文件如下

?
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
version: '2'
services:
 zookeeper01:
  image: zookeeper
  restart: always
  hostname: zookeeper01
  ports:
   - 2181:2181
  environment:
   zoo_my_id: 1
   zoo_servers: server.1=0.0.0.0:2888:3888 server.2=zookeeper02:2888:3888 server.3=zookeeper03:2888:3888
 zookeeper02:
  image: zookeeper
  restart: always
  hostname: zookeeper02
  ports:
   - 2182:2181
  environment:
   zoo_my_id: 2
   zoo_servers: server.1=zookeeper01:2888:3888 server.2=0.0.0.0:2888:3888 server.3=zookeeper03:2888:3888
 zookeeper03:
  image: zookeeper
  restart: always
  hostname: zookeeper03
  ports:
   - 2183:2181
  environment:
   zoo_my_id: 3
   zoo_servers: server.1=zookeeper01:2888:3888 server.2=zookeeper02:2888:3888 server.3=0.0.0.0:2888:3888

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.jianshu.com/p/62ebedc764b7

延伸 · 閱讀

精彩推薦
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
主站蜘蛛池模板: 中文av一区二区三区 | 成人免费小视频 | av中文字幕在线观看 | 精品国偷自产国产一区 | 免费视频一区二区 | 久久久久久免费毛片精品 | ...99久久国产成人免费精品 | 波多野结衣一区二区三区中文字幕 | 中文在线一区二区 | 久热免费视频 | 91亚洲精品乱码久久久久久蜜桃 | 国产精品一二三在线观看 | 激情综合网激情 | 欧美激情一区二区三区 | 日日爱视频 | 黄在线看v | 欧美日韩中文字幕 | 一级黄色国产视频 | 亚洲欧洲日韩 | 狠狠干干| 国产日韩精品视频 | 亚洲www视频| 国产精品178页 | 欧美午夜精品久久久久久浪潮 | 一区二区不卡视频 | 亚洲一区亚洲二区 | 精品久久久久久国产 | 国产一区二区三区免费 | 中文字幕在线观看精品视频 | 毛片区| 成人网视频在线观看 | 欧美激情一区二区三区 | 毛片在线视频 | 亚洲精品视频在线观看网站 | 天天澡天天狠天天天做 | 91精品国产综合久久久久久漫画 | 欧美黄色片免费观看 | 亚洲欧美一区二区三区在线 | 91麻豆精品国产91久久久久久久久 | 亚洲一区二区三 | 欧美 亚洲 一区 |