use of org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException in project head by mifos.
the class MifosBatchJob method launchJob.
/**
* A method responsible for the actual launch of the Spring Batch job.
* @param job Job class
* @param jobParameters Job parameters
* @return Batch computation status
* @throws BatchJobException when something goes wrong
*/
private BatchStatus launchJob(Job job, JobParameters jobParameters) throws BatchJobException {
BatchStatus exitStatus = BatchStatus.UNKNOWN;
JobExecution jobExecution = null;
try {
batchJobStarted();
requiresExclusiveAccess();
jobExecution = jobLauncher.run(job, jobParameters);
exitStatus = jobExecution.getStatus();
} catch (JobInstanceAlreadyCompleteException jiace) {
exitStatus = BatchStatus.COMPLETED;
return exitStatus;
} catch (Exception ex) {
throw new BatchJobException(ex);
} finally {
batchJobFinished();
}
return exitStatus;
}
use of org.springframework.batch.core.repository.JobInstanceAlreadyCompleteException 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();
}
}
Aggregations