Elastic-job入门

Elastic-Job是一个分布式的定时任务框架 
基于成熟的定时任务作业框架Quartz cron表达式执行定时任务 相对于Quartz它增加了任务分片。这样能有效的防止单节点部署项目带来的种种不便

入门案例 
本案例基于Springmvc 和 maven 如果你在本地测试需要首先自己安装好zookeeper因为注册中心是zookeeper 采用测试用例测试的时候 需要两台不同ip的机器去启动job 因为ElasticJob默认的分片机制是根据ip来分片的 如果ip相同 它会默认为一台服务器 
首先 
在maven项目的pom.xml文件中增加Elastic-Job的相关依赖的jar包代码如下
 

<dependency>
        <groupId>com.dangdang</groupId>
        <artifactId>elastic-job-core</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
            <groupId>com.dangdang</groupId>
            <artifactId>elastic-job-spring</artifactId>
            <version>1.1.1</version>
        </dependency>

然后 
构建好相关的job类 这里我是采用的SimpleJob类型的 所以实现的是SimpleJob接口

public class MyElasticJob extends AbstractSimpleElasticJob {
    @Override
    public void process(JobExecutionMultipleShardingContext arg0) {
        // TODO Auto-generated method stub
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


        System.out.println("date : " + sdf.format(new Date()) + " , 第" + arg0.getShardingItems() + "个分片 " + arg0.getJobParameter() + "  +");

    }

}

public class TestElastic {
    public static void main(String[] args) {
        ApplicationContext context1 = new ClassPathXmlApplicationContext("hun-test/app.xml");
    }
}

然后 
配置好job.xml,你也可以配置到Spring的application.xml文件中为了配置文件的相对干净我配置到job.xml中

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:reg="http://www.dangdang.com/schema/ddframe/reg"
    xmlns:job="http://www.dangdang.com/schema/ddframe/job"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
                        http://www.springframework.org/schema/beans/spring-beans.xsd
                        http://www.dangdang.com/schema/ddframe/reg
                        http://www.dangdang.com/schema/ddframe/reg/reg.xsd
                        http://www.dangdang.com/schema/ddframe/job
                        http://www.dangdang.com/schema/ddframe/job/job.xsd
                        ">
    <!--配置作业注册中心 -->
    <reg:zookeeper id="regCenter" server-lists="192.168.40.201:2181" namespace="dd-job" base-sleep-time-milliseconds="1000" max-sleep-time-milliseconds="3000" max-retries="3" />

    <!-- 配置作业-->
    <job:simple id="oneOffElasticJob" class="job.MyElasticJob" registry-center-ref="regCenter" cron="0/5 * * * * ?" sharding-total-count="2" sharding-item-parameters="0=0,1=1" overwrite="true" />
</beans>

最后 
将job.xml引入到Spring的配置文件中(通常是application.xml 也可能是你自己起的其他名字) 注意两个配置文件的路径

<import resource="job.xml"/>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值