安装zookeeper
解压到本地,并创建data和logs文件夹
![](https://i-blog.csdnimg.cn/blog_migrate/72eba6c1015104f52105d1c1416c3cfb.png)
创建配置zoo.cfg
tickTime=2000
dataDir=C:/zookeeper-3.4.5/data
dataLogDir=C:/zookeeper-3.4.5/logs
clientPort=2181
![](https://i-blog.csdnimg.cn/blog_migrate/4060e0778d89bfd2fe294e9e0833d6e7.png)
启动
![](https://i-blog.csdnimg.cn/blog_migrate/859685d0a10e8c3644905a35cecd5bd5.png)
引入依赖
<dependency>
<groupId>com.github.kuhn-he</groupId>
<artifactId>elastic-job-lite-spring-boot-starter</artifactId>
<version>2.1.53</version>
</dependency>
新建job类
package com.javacore.job;
import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
import com.dangdang.elasticjob.lite.annotation.ElasticSimpleJob;
import org.springframework.stereotype.Component;
@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()
));
}
}
配置job
#如果zookeeper集群的话,则以英文逗号隔开
elaticjob.zookeeper.server-lists=127.0.0.1:2181
elaticjob.zookeeper.namespace=my-project
执行结果
![](https://i-blog.csdnimg.cn/blog_migrate/c6d4442b74ec1fb7e668ba67e1a74559.png)
Corn在线表达式生成
在线Cron表达式生成器