整理后的代码
parent
ed174b1984
commit
389e35c6d2
@ -1,71 +0,0 @@
|
||||
package com.example.application.job;
|
||||
|
||||
import com.dangdang.ddframe.job.api.ShardingContext;
|
||||
import com.dangdang.ddframe.job.api.dataflow.DataflowJob;
|
||||
import com.example.autoconfig.ElatisDataflowJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author q
|
||||
*/
|
||||
@Slf4j
|
||||
@ElatisDataflowJob(
|
||||
jobName = "MyDataflowJob",
|
||||
cron = "0/3 * * * * ?",
|
||||
shardingTotalCount = 2,
|
||||
overwrite = true,
|
||||
streamingProcess = true,
|
||||
jobEvent = false
|
||||
)
|
||||
public class MyDataflowJob implements DataflowJob<Integer> {
|
||||
|
||||
private List<Integer> list;
|
||||
|
||||
{
|
||||
list = Arrays.asList(1,2,3,4,5,6,7,8,9,10);
|
||||
}
|
||||
@Override
|
||||
public List<Integer> fetchData(ShardingContext shardingContext) {
|
||||
|
||||
List<Integer> result = new ArrayList<>();
|
||||
|
||||
// 数字 % 分片总数 == 当前分片数
|
||||
for (Integer index : list) {
|
||||
if (index % shardingContext.getShardingTotalCount() == shardingContext.getShardingItem()){
|
||||
result.add(index);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 模拟处理时间耗时
|
||||
try {
|
||||
Thread.sleep(3000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
log.info("我是分片项: {} , 我抓取的数据是: {} ",shardingContext.getShardingItem(), result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void processData(ShardingContext shardingContext, List<Integer> result) {
|
||||
|
||||
// list.removeAll(result);
|
||||
|
||||
// 模拟处理时间耗时
|
||||
try {
|
||||
Thread.sleep(5000);
|
||||
} catch (InterruptedException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
log.info("我是分片项: {}, 我是处理的数据是: {}", shardingContext.getShardingItem(), result);
|
||||
}
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
package com.example.application.job;
|
||||
|
||||
import com.dangdang.ddframe.job.api.ShardingContext;
|
||||
import com.dangdang.ddframe.job.api.simple.SimpleJob;
|
||||
import com.example.autoconfig.ElasticSimpleJob;
|
||||
import com.example.autoconfig.sharding.MyshardingStrategy;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* 测试自定义分片策略的Job
|
||||
* @author q
|
||||
*/
|
||||
@Slf4j
|
||||
@ElasticSimpleJob(
|
||||
jobName = "MyShardingJob",
|
||||
cron = "0/3 * * * * ?",
|
||||
shardingTotalCount = 10,
|
||||
overwrite = true,
|
||||
jobStrategy = MyshardingStrategy.class,
|
||||
jobEvent = false
|
||||
)
|
||||
public class MyShardingJob implements SimpleJob {
|
||||
|
||||
|
||||
@Override
|
||||
public void execute(ShardingContext shardingContext) {
|
||||
log.info("{} : 我是分片项: {} , 总分片数 : {} ",
|
||||
this.getClass().getSimpleName(),
|
||||
shardingContext.getShardingItem(),
|
||||
shardingContext.getShardingTotalCount()
|
||||
);
|
||||
}
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package com.example.application.job;
|
||||
|
||||
import com.dangdang.ddframe.job.api.ShardingContext;
|
||||
import com.dangdang.ddframe.job.api.simple.SimpleJob;
|
||||
import com.example.autoconfig.ElasticSimpleJob;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
* @author q
|
||||
*/
|
||||
@Slf4j
|
||||
@ElasticSimpleJob(
|
||||
jobName = "MySimpleJob",
|
||||
cron = "0/3 * * * * ?",
|
||||
shardingTotalCount = 2,
|
||||
overwrite = true,
|
||||
jobEvent = false
|
||||
)
|
||||
public class MySimpleJob implements SimpleJob {
|
||||
|
||||
@Override
|
||||
public void execute(ShardingContext shardingContext) {
|
||||
log.info("{} : 我是分片项: {} , 总分片数 : {} ",
|
||||
this.getClass().getSimpleName(),
|
||||
shardingContext.getShardingItem(),
|
||||
shardingContext.getShardingTotalCount()
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue