package com.peterwanghao.spring.cloud.task;
import java.util.Arrays;
import java.util.List;
import java.util.logging.Logger;
import org.springframework.batch.core.Job;
import org.springframework.batch.core.Step;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.configuration.annotation.JobBuilderFactory;
import org.springframework.batch.core.configuration.annotation.StepBuilderFactory;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.item.ItemProcessor;
import org.springframework.batch.item.ItemWriter;
import org.springframework.batch.item.support.ListItemReader;
import org.springframework.batch.repeat.RepeatStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @ClassName: JobConfiguration
* @Description:TODO(这里用一句话描述这个类的作用)
* @author: wanghao
* @date: 2018年10月12日 下午2:28:52
* @version V1.0
*
*/
@Configuration
public class JobConfiguration {
private final static Logger LOGGER = Logger.getLogger(JobConfiguration.class.getName());
@Autowired
private JobBuilderFactory jobBuilderFactory;
@Autowired
private StepBuilderFactory stepBuilderFactory;
@Bean
public Step step1() {
return this.stepBuilderFactory.get("job1step1").tasklet(new Tasklet() {
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
LOGGER.info("Tasklet has run");
return RepeatStatus.FINISHED;
}
}).build();
}
@Bean
public Step step2() {
return this.stepBuilderFactory.get("job1step2").<String, String>chunk(3)
.reader(new ListItemReader<>(Arrays.asList("7", "2", "3", "10", "5", "6")))
.processor(new ItemProcessor<String, String>() {
@Override
public String process(String item) throws Exception {
LOGGER.info("Processing of chunks");
return String.valueOf(Integer.parseInt(item) * -1);
}
}).writer(new ItemWriter<String>() {
@Override
public void write(List<? extends String> items) throws Exception {
for (String item : items) {
LOGGER.info(">> " + item);
}
}
}).build();
}
@Bean
public Job job1() {
return this.jobBuilderFactory.get("job1").start(step1()).next(step2()).build();
}
@Bean
public Job job2() {
return jobBuilderFactory.get("job2").start(stepBuilderFactory.get("job2step1").tasklet(new Tasklet() {
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
LOGGER.info("This job is from PeterWanghao");
return RepeatStatus.FINISHED;
}
}).build()).build();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
spring-cloud-examples-master.zip (15个子文件)
spring-cloud-examples-master
pom.xml 2KB
spring-cloud-task
pom.xml 2KB
spring-cloud-task-stream
pom.xml 2KB
src
test
java
com
peterwanghao
spring
cloud
task
TaskSinkConfiguration.java 628B
SpringCloudTaskSinkApplicationIntegrationTest.java 2KB
main
resources
logback.xml 373B
application.properties 76B
java
com
peterwanghao
spring
cloud
task
SpringCloudTaskSinkApplication.java 682B
spring-cloud-task-batch
pom.xml 2KB
src
main
resources
logback.xml 373B
application.yml 540B
java
com
peterwanghao
spring
cloud
task
TaskDemo.java 2KB
TaskListener.java 967B
JobConfiguration.java 3KB
HelloWorldTaskConfigurer.java 528B
共 15 条
- 1
资源评论
- zero000sc2020-04-18还不错,值得参考
- huan_lxyd2019-06-206666666666666666
- go_56565662019-05-22好不错212111
- alreen2019-08-08我下载手机上没有打开,再下一次
peterwanghao
- 粉丝: 642
- 资源: 25
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功