我們先讓代碼跑起來(lái)窃肠,來(lái)一個(gè)簡(jiǎn)單的例子磁椒。
一媳板、引入jar包
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>elastic-job-lite-core</artifactId>
<version>2.1.5</version>
</dependency>
<!-- 這里要注意浩淘,我們和Spring集成咳焚,要引入這個(gè)jar包 -->
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>elastic-job-lite-spring</artifactId>
<version>2.1.5</version>
</dependency>
二洽损、代碼開發(fā)
1.配置文件
在/Davis/src/main/resources/目錄下增加spring-job目錄,并新建文件spring-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
">
<!--配置作業(yè)注冊(cè)中心 zookeeper_url=10.136.19.170:2181,zookeeper_namespace=elastic-job這個(gè)可以自己任意起名字 -->
<reg:zookeeper id="regCenter"
server-lists="${zookeeper_url}"
namespace="${zookeeper_namespace}"
base-sleep-time-milliseconds="1000"
max-sleep-time-milliseconds="3000"
max-retries="3" />
<!-- 配置作業(yè) -->
<job:simple id="demoSimpleSpringJob" class="com.spring.lw.job.UserElasticJob"
registry-center-ref="regCenter"
cron="0/10 * * * * ?"
sharding-total-count="3"
sharding-item-parameters="0=A,1=B,2=C" />
</beans>
2.代碼
package com.spring.lw.job;
import com.dangdang.ddframe.job.api.ShardingContext;
import com.dangdang.ddframe.job.api.simple.SimpleJob;
public class UserElasticJob implements SimpleJob {
@Override
public void execute(ShardingContext context) {
// TODO Auto-generated method stub
switch (context.getShardingItem()) {
case 0:
System.out.println("UserElasticJob execute context = " + 0);
break;
case 1:
System.out.println("UserElasticJob execute context = " + 1);
break;
case 2:
System.out.println("UserElasticJob execute context = " + 2);
break;
// case n: ...
}
}
}
3.運(yùn)行
放到Tomcat跑一下看看碑定,當(dāng)然zookeeper要先啟動(dòng)起來(lái)流码。
控制臺(tái)會(huì)輸出:
UserElasticJob execute context = 0
UserElasticJob execute context = 1
UserElasticJob execute context = 2
反正是跑起來(lái)了,雖然到現(xiàn)在看起來(lái)沒什么卵用延刘。
我們把這個(gè)工程部署到兩個(gè)Tomcat試試漫试,啟動(dòng)兩個(gè)Tomcat,會(huì)發(fā)現(xiàn)访娶。
Tomcat1的控制臺(tái)輸出:
UserElasticJob execute context = 0
UserElasticJob execute context = 2
Tomcat2的控制臺(tái)輸出:
UserElasticJob execute context = 1
好像體會(huì)到一點(diǎn)好處了商虐。