Java 类org.springframework.batch.core.step.tasklet.TaskletStep 实例源码
项目:spring-cloud-task
文件:TaskBatchEventListenerBeanPostProcessor.java
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
registerJobExecutionEventListener(bean);
if (bean instanceof AbstractStep) {
registerStepExecutionEventListener(bean);
if (bean instanceof TaskletStep) {
TaskletStep taskletStep = (TaskletStep) bean;
Tasklet tasklet = taskletStep.getTasklet();
registerChunkEventsListener(bean);
if (tasklet instanceof ChunkOrientedTasklet) {
Field chunkProviderField = ReflectionUtils.findField(ChunkOrientedTasklet.class, "chunkProvider");
ReflectionUtils.makeAccessible(chunkProviderField);
SimpleChunkProvider chunkProvider = (SimpleChunkProvider) ReflectionUtils.getField(chunkProviderField, tasklet);
Field chunkProcessorField = ReflectionUtils.findField(ChunkOrientedTasklet.class, "chunkProcessor");
ReflectionUtils.makeAccessible(chunkProcessorField);
SimpleChunkProcessor chunkProcessor = (SimpleChunkProcessor) ReflectionUtils.getField(chunkProcessorField, tasklet);
registerItemReadEvents(chunkProvider);
registerSkipEvents(chunkProvider);
registerItemProcessEvents(chunkProcessor);
registerItemWriteEvents(chunkProcessor);
registerSkipEvents(chunkProcessor);
}
}
}
return bean;
}
项目:spring-cloud-task
文件:TaskBatchEventListenerBeanPostProcessor.java
private void registerChunkEventsListener(Object bean) {
if(this.applicationContext.containsBean(BatchEventAutoConfiguration.CHUNK_EVENTS_LISTENER))
{
((TaskletStep)bean).registerChunkListener((ChunkListener)
this.applicationContext.getBean(BatchEventAutoConfiguration.CHUNK_EVENTS_LISTENER));
}
}
项目:spring-cloud-task
文件:TaskBatchEventListenerBeanPostProcessorTests.java
@Test
public void testPostProcessor() {
TaskBatchEventListenerBeanPostProcessor postProcessor =
context.getBean(TaskBatchEventListenerBeanPostProcessor.class);
assertNotNull(postProcessor);
TaskletStep updatedTaskletStep = (TaskletStep)
postProcessor.postProcessBeforeInitialization(taskletStep, "FOO");
assertEquals(taskletStep, updatedTaskletStep);
}
项目:TechnologyReadinessTool
文件:BaseJobBean.java
protected TaskletStep createTaskletStep(String name, Tasklet tasklet) {
TaskletStep ts = new TaskletStep(name);
ts.setJobRepository(jobRepository);
ts.setTransactionManager(transactionManager);
ts.setTasklet(tasklet);
return ts;
}
项目:TechnologyReadinessTool
文件:SnapshotBatchJob.java
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
TaskletStep ts = createTaskletStep("snapshotRun", snapshotBatchJobTasklet);
SimpleJob job = createSimpleJob("snapshotBatchJob", ts);
// by default, jobs are assumed to have been already run if the exact same
// parameters are seen. Pass in the time to always be unique.
Map<String, JobParameter> map = new HashMap<>();
map.put("executeTime", new JobParameter(System.currentTimeMillis()));
runJob(job, context, map);
}
项目:TechnologyReadinessTool
文件:NightlyReportBatchJob.java
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
TaskletStep ts = createTaskletStep("nightlyRun", nightlyReportBatchJobTasklet);
SimpleJob job = createSimpleJob("nightlyReportBatchJob", ts);
// by default, jobs are assumed to have been already run if the exact same
// parameters are seen. Pass in the time to always be unique.
Map<String, JobParameter> map = new HashMap<>();
map.put("executeTime", new JobParameter(System.currentTimeMillis()));
runJob(job, context, map);
}
项目:TechnologyReadinessTool
文件:HourlyReportBatchJob.java
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
TaskletStep ts = createTaskletStep("HourlyRun", HourlyReportBatchJobTasklet);
SimpleJob job = createSimpleJob("HourlyReportBatchJob", ts);
// by default, jobs are assumed to have been already run if the exact same
// parameters are seen. Pass in the time to always be unique.
Map<String, JobParameter> map = new HashMap<>();
map.put("executeTime", new JobParameter(System.currentTimeMillis()));
runJob(job, context, map);
}
项目:TechnologyReadinessTool
文件:DeleteSnapshotBatchJob.java
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
TaskletStep ts = createTaskletStep("deleteSnapshotWindow", deleteSnapshotBatchJobTasklet);
SimpleJob job = createSimpleJob("deleteSnapshotWindowBatchJob", ts);
// by default, jobs are assumed to have been already run if the exact same
// parameters are seen. Pass in the time to always be unique.
Map<String, JobParameter> map = new HashMap<>();
map.put("executeTime", new JobParameter(System.currentTimeMillis()));
map.put("snapshotWindowId", new JobParameter(context.getJobDetail().getJobDataMap().getLong("snapshotWindowId")));
runJob(job, context, map);
}
项目:saos
文件:CcjImportJobConfiguration.java
@Bean
@Autowired
protected Step ccJudgmentImportProcessStep() {
TaskletStep step = steps.get("ccJudgmentImportProcessStep")
.<RawSourceCcJudgment, JudgmentWithCorrectionList<CommonCourtJudgment>> chunk(20).faultTolerant()
.skipPolicy(ccjImportProcessSkipPolicy).listener(ccjImportProcessSkipListener)
.reader(ccjImportProcessReader)
.processor(ccjImportProcessProcessor)
.writer(ccjImportProcessWriter())
.transactionAttribute(new DefaultTransactionAttribute())
.build();
step.setTransactionAttribute(new DefaultTransactionAttribute());
return step;
}