use of org.springframework.batch.core.Step in project Spring-Family by Sierou-Java.
the class Main method main.
public static void main(String[] args) {
try {
String[] configLocations = { "classpath*:applicationContext.xml" };
ApplicationContext applicationContext = new ClassPathXmlApplicationContext(configLocations);
JobLauncher jobLauncher = applicationContext.getBean(JobLauncher.class);
JobRepository jobRepository = applicationContext.getBean(JobRepository.class);
PlatformTransactionManager transactionManager = applicationContext.getBean(PlatformTransactionManager.class);
// 创建reader
FlatFileItemReader<DeviceCommand> flatFileItemReader = new FlatFileItemReader<>();
flatFileItemReader.setResource(new FileSystemResource("/project/Spring-Family-Parent/Spring-Family-Batch/src/main/resources/batch-data.csv"));
// // 转换数据
flatFileItemReader.setLineMapper(new DemoLineMapper());
// 创建processor 对数据进行操作
DemoProcessor helloItemProcessor = new DemoProcessor();
// 创建writer
FlatFileItemWriter<DeviceCommand> flatFileItemWriter = new FlatFileItemWriter<>();
flatFileItemWriter.setResource(new FileSystemResource("/project/Spring-Family-Parent/Spring-Family-Batch/src/main/resources/batch-data.csv"));
flatFileItemWriter.setLineAggregator(new DemoLineAggregator());
// 创建Step
StepBuilderFactory stepBuilderFactory = new StepBuilderFactory(jobRepository, transactionManager);
Step step = stepBuilderFactory.get("step").<DeviceCommand, DeviceCommand>chunk(1).reader(// 读操作
flatFileItemReader).processor(// 处理操作
helloItemProcessor).writer(// 写操作
flatFileItemWriter).build();
// 创建Job
JobBuilderFactory jobBuilderFactory = new JobBuilderFactory(jobRepository);
Job job = jobBuilderFactory.get("job").start(step).build();
// 启动任务
jobLauncher.run(job, new JobParameters());
} catch (JobExecutionAlreadyRunningException e) {
e.printStackTrace();
} catch (JobRestartException e) {
e.printStackTrace();
} catch (JobInstanceAlreadyCompleteException e) {
e.printStackTrace();
} catch (JobParametersInvalidException e) {
e.printStackTrace();
}
}
use of org.springframework.batch.core.Step in project hub-alert by blackducksoftware.
the class CommonConfigTest method testCreateStep.
@SuppressWarnings({ "rawtypes", "unchecked" })
@Test
public void testCreateStep() {
final StepBuilderFactory stepBuilderFactory = Mockito.mock(StepBuilderFactory.class);
final TaskExecutor taskExecutor = Mockito.mock(TaskExecutor.class);
final PlatformTransactionManager transactionManager = Mockito.mock(PlatformTransactionManager.class);
final C config = getConfigWithParams(stepBuilderFactory, taskExecutor, transactionManager);
final R reader = getMockReader();
final P processor = getMockProcessor();
final W writer = getMockWriter();
final StepBuilder stepBuilder = Mockito.mock(StepBuilder.class);
final SimpleStepBuilder simpleStepBuilder = Mockito.mock(SimpleStepBuilder.class);
final AbstractTaskletStepBuilder abstractTaskletStepBuilder = Mockito.mock(AbstractTaskletStepBuilder.class);
Mockito.when(stepBuilderFactory.get(Mockito.anyString())).thenReturn(stepBuilder);
Mockito.when(stepBuilder.chunk(Mockito.anyInt())).thenReturn(simpleStepBuilder);
Mockito.when(simpleStepBuilder.reader(reader)).thenReturn(simpleStepBuilder);
Mockito.when(simpleStepBuilder.processor(processor)).thenReturn(simpleStepBuilder);
Mockito.when(simpleStepBuilder.writer(writer)).thenReturn(simpleStepBuilder);
Mockito.when(simpleStepBuilder.taskExecutor(taskExecutor)).thenReturn(abstractTaskletStepBuilder);
Mockito.when(abstractTaskletStepBuilder.transactionManager(transactionManager)).thenReturn(abstractTaskletStepBuilder);
Mockito.when(abstractTaskletStepBuilder.build()).thenReturn(new TaskletStep());
final Step step = config.createStep(reader, processor, writer);
assertNotNull(step);
}
Aggregations