分布式定时任务框架ElasticJob之JavaApi整合Simple作业
前言
分布式定时任务框架ElasticJob是当当网已经开源的框架,已经用于很多中大型企业用于分布式定时任务的场景开发之中,ElasticJob具有支持分布式、集群、弹性扩容等优点,它具有的这些特点在于它具有分片的功能,目前仅支持zookeeper注册中心。本章节介绍ElasticJob框架中最基本也是使用最广的一种作业类型SimpleJob整合JavaApi来实现基本的定时任务。
一、 开发环境准备
1.Eclipse/IDEA
2.zookeeper
3.JDK1.8
4.maven3.6.3
二、使用步骤
1.安装zookeeper
点击下载zookeeper进入下载页面,选择第一项下载
下载完成后,解压到D盘根目录。进入config目录
将zoo_sample.cfg文件复制一份重命名为zoo.cfg
单机版暂时不用过多的配置,然后进入bin目录下,双击zkServer.cmd运行zookeeper.
看到这样的效果就可以了
2.创建maven工程,引入ElasticJob依赖
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>elastic-job-lite-core</artifactId>
<version>2.1.5</version>
</dependency>
3.编写代码
在App.java中编写simpleJob作业配置方法:
public static LiteJobConfiguration configuration() {
//第一步job核心配置
JobCoreConfiguration jcc = JobCoreConfiguration
.newBuilder("mySimpleJob", "0/2 * * * * ?", 2)
.build();
//第二步job类型配置
JobTypeConfiguration jtc = new SimpleJobConfiguration(jcc,
MySimpleJob.class.getCanonicalName());
//第三步job根的配置
LiteJobConfiguration ljc = LiteJobConfiguration.newBuilder(
jtc
)
.overwrite(true)
.build();
return ljc;
}
zookeeper注册中心:
public static CoordinatorRegistryCenter zkCenter() {
ZookeeperConfiguration zc = new ZookeeperConfiguration("localhost:2181"
, "java-simple-job");
CoordinatorRegistryCenter crc = new ZookeeperRegistryCenter(zc);
//注册中心初始化
crc.init();
return crc;
}
将作业注册到JobSchedule:
new JobScheduler(zkCenter(), configuration()).init();
simpleJob作业:
public class MySimpleJob implements SimpleJob{
@Override
public void execute(ShardingContext shardingContext) {
// TODO Auto-generated method stub
LocalTime localTime = LocalTime.now();
System.out.println(localTime+"我是分片项:"+shardingContext.getShardingItem()+",总分片项:"+shardingContext.getShardingTotalCount());
}
}
总结
本章介绍了ElasticJob中最基本的作业SimpleJob的基本使用,下章节介绍流式作业DataflowJob的基本使用。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/71716.html