如何配置Spring Batch的

春天数据流我有春天一批项目,我想在春天的云数据流我为能够将其注册在新加坡民防部队,但在发射任务我的作业没有运行, 以下配置它是我的配置文件如何配置Spring Batch的

@SpringBootApplication 

@EnableBatchProcessing

@EnableTask

public class BatchApplication {

/*@Autowired

BatchCommandLineRunner batchcommdrunner;

@Bean

public CommandLineRunner commandLineRunner() {

System.out.println("Executed at :" + new SimpleDateFormat().format(new Date()));

return batchcommdrunner ;

}*/

public static void main(String[] args) {

SpringApplication.run(BatchApplication.class, args);

}

}

这是我的批处理confriguration文件

@Configuration 

public class BatchConfiguaration {

@Autowired

private DataSource datasouce;

@Autowired

private JobBuilderFactory jobBuilderFactory;

@Autowired

private StepBuilderFactory stepBuilderFactory;

@Autowired

public Environment env;

@Bean(name = "reader")

@StepScope

public ItemReader<Schedules> reader(@Value("#{stepExecutionContext[scheduleRecs]}") List<Schedules> scherecs) {

ItemReader<Schedules> reader = new IteratorItemReader<Schedules>(scherecs);

return reader;

}

@Bean(name = "CWSreader")

@StepScope

public ItemReader<Contents> CWSreader(@Value("#{stepExecutionContext[scheduleRecs]}") List<Contents> scherecs) {

ItemReader<Contents> reader = new IteratorItemReader<Contents>(scherecs);

return reader;

}

@SuppressWarnings("rawtypes")

@Bean

@StepScope

public BatchProcessor processor() {

return new BatchProcessor();

}

@Bean(name = "batchSchedulePreparedStatement")

@StepScope

public BatchSchedulePreparedStatement batchSchedulePreparedStatement() {

return new BatchSchedulePreparedStatement();

}

@SuppressWarnings({ "rawtypes", "unchecked" })

@Bean(name = "batchWriter")

@StepScope

public BatchWriter batchWriter() {

BatchWriter batchWriter = new BatchWriter();

batchWriter.setDataSource(datasouce);

batchWriter.setSql(env.getProperty("batch.insert.schedule.query"));

batchWriter.setItemPreparedStatementSetter(batchSchedulePreparedStatement());

return batchWriter;

}

@Bean("acheronDbTm")

@Qualifier("acheronDbTm")

public PlatformTransactionManager platformTransactionManager() {

return new ResourcelessTransactionManager();

}

@Bean

public JobExplorer jobExplorer() throws Exception {

MapJobExplorerFactoryBean explorerFactoryBean = new MapJobExplorerFactoryBean();

explorerFactoryBean.setRepositoryFactory(mapJobRepositoryFactoryBean());

explorerFactoryBean.afterPropertiesSet();

return explorerFactoryBean.getObject();

}

@Bean

public MapJobRepositoryFactoryBean mapJobRepositoryFactoryBean() {

MapJobRepositoryFactoryBean mapJobRepositoryFactoryBean = new MapJobRepositoryFactoryBean();

mapJobRepositoryFactoryBean.setTransactionManager(platformTransactionManager());

return mapJobRepositoryFactoryBean;

}

@Bean

public JobRepository jobRepository() throws Exception {

return mapJobRepositoryFactoryBean().getObject();

}

@Bean

public SimpleJobLauncher jobLauncher() throws Exception {

SimpleJobLauncher jobLauncher = new SimpleJobLauncher();

jobLauncher.setJobRepository(jobRepository());

return jobLauncher;

}

@Bean(name = "batchPartition")

@StepScope

public BatchPartition batchPartition() {

BatchPartition batchPartition = new BatchPartition();

return batchPartition;

}

@Bean(name="taskExecutor")

public TaskExecutor taskExecutor() {

ThreadPoolTaskExecutor poolTaskExecutor = new ThreadPoolTaskExecutor();

poolTaskExecutor.setCorePoolSize(10);

poolTaskExecutor.setMaxPoolSize(30);

poolTaskExecutor.setQueueCapacity(35);

poolTaskExecutor.setThreadNamePrefix("Acheron");

poolTaskExecutor.afterPropertiesSet();

return poolTaskExecutor;

}

@Bean(name = "masterStep")

public Step masterStep() {

return stepBuilderFactory.get("masterStep").partitioner(slave()).partitioner("slave", batchPartition())

.taskExecutor(taskExecutor()).build();

}

@Bean(name = "slave")

public Step slave() {

return stepBuilderFactory.get("slave").chunk(100).faultTolerant().retryLimit(2)

.retry(DeadlockLoserDataAccessException.class).reader(reader(null)).processor(processor())

.writer(batchWriter()).build();

}

@Bean(name = "manageStagingScheduleMaster")

public Job manageStagingScheduleMaster(final Step masterStep) throws Exception {

return jobBuilderFactory.get("manageStagingScheduleMaster").preventRestart().incrementer(new RunIdIncrementer())

.start(masterStep).build();

}

谁能帮助我正确的配置它或者是有任何其他方式在那里我可以监视我的批处理作业 我也试图与春天开机管理员,但它在SBA是不支持Java的配置是有什么办法可以在XML中添加作业,而作业

我launcing从控制器这份工作

JobParametersBuilder builder = new JobParametersBuilder(); 

System.out.println("Job Builder " + builder);

JobParameters jobParameters = builder.toJobParameters();

JobExecution execution = jobLauncher.run(job, jobParameters);

return execution.getStatus().toString();

回答:

这sample显示可以推出作为一个基本的春天批处理应用程序Spring云数据流中的任务。

以上是 如何配置Spring Batch的 的全部内容, 来源链接: utcz.com/qa/262745.html

回到顶部