SpringBoot整合Elastic-Job示例

上一篇 << 下一篇 >>>修改Elastic-Job默认session过期时间提升故障转移速度


1.依赖包引入


        
            org.springframework.boot
            spring-boot-starter-web
        
        
        
            com.github.kuhn-he
            elastic-job-lite-spring-boot-starter
            2.1.53
        
        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

2.配置新增

#如果zookeeper集群的话,则以英文逗号隔开
elaticjob.zookeeper.server-lists=127.0.0.1:2181
elaticjob.zookeeper.namespace=my-project

3.代码实现

@ElasticSimpleJob(cron = "0/5 * * * * ?",
        jobName = "firstJob",
        shardingTotalCount = 2,
        jobParameter = "测试参数",
        shardingItemParameters = "0=A,1=B")
@Component
public class MySimpleJob implements SimpleJob {

    @Override
    public void execute(ShardingContext shardingContext) {
        System.out.println(String.format("------Thread ID: %s, 任务总片数: %s, " +
                        "当前分片项: %s,当前参数: %s," +
                        "当前任务名称: %s,当前任务参数: %s," +
                        "当前任务的id: %s"
                ,
                //获取当前线程的id
                Thread.currentThread().getId(),
                //获取任务总片数
                shardingContext.getShardingTotalCount(),
                //获取当前分片项
                shardingContext.getShardingItem(),
                //获取当前的参数
                shardingContext.getShardingParameter(),
                //获取当前的任务名称
                shardingContext.getJobName(),
                //获取当前任务参数
                shardingContext.getJobParameter(),
                //获取任务的id
                shardingContext.getTaskId()
        ));
    }
}

4.参数说明

配置任务的时候,这里定义了五个参数,分别是:
cron:cron表达式,用于控制作业触发时间。
shardingTotalCount:作业分片总数
shardingItemParameters:分片序列号和参数用等号分隔,多个键值对用逗号分隔,分片序列号从0开始,不可大于或等于作业分片总数。如:0=a,1=b,2=c
jobParameters:作业自定义参数
description:作业描述


推荐阅读:
<<<传统任务调度实现方案及demo示例
<<<传统任务调度存在的缺陷
<<<如何保证我们的定时任务只会触发一次
<<<定时任务宕机后如何处理
<<<分布式任务调度平台的特点
<< << <<<修改Elastic-Job默认session过期时间提升故障转移速度
<< << << << << << <<

你可能感兴趣的:(SpringBoot整合Elastic-Job示例)