Spring 批量生成报告
Spring batch generating reports
我想在批处理执行结束时生成一份摘要报告。
例如:我有一个接收 accountId 的 ItemProcessor。
for every accountId:
get MarketplaceId's
for every marketplaceId:
call real time availability
在批处理执行结束时,我需要在显示的文件中提供一个很好的摘要,
- 处理的帐户数
- 每个 accoutId 的 marketplaceId 数量
- 未能获得实时可用性的 marketplaceId 数量
- 处理一个 accountId 所用的时间
问题
- 我在哪里坚持这些中间结果,即。每次迭代的不同计数
- 我如何将这些计数带到下一步,这只是一个摘要文件编写器
如果您能提供任何方向,那就太好了。
谢谢。
编写一个 tasklet 来准备一个美好的夏天,并将该 tasklet 作为作业的最后一步
<step id="summeryFile" >
<tasklet ref="summaryFilePreparationTasklet"/>
</step>
Bean 配置是
<bean id="summaryFilePreparationTasklet" class="com.baji.batch.SummaryPreparationFile">
和Class文件是
package com.baji.batch;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
/**
* @Author
* Bhaji Shaik
* May 30, 2015
*/
public class SummaryPreparationFile implements Tasklet {
@Autowired
private Holder holder;
@Override
public RepeatStatus execute(StepContribution arg0, ChunkContext chunkContext) throws Exception {
holder.getResults1();
//Write your own code to Prepare a neat summary preparation File
return null;
}
}
持有人 Class 是
import org.springframework.stereotype.Component;
@Component
public class Holder {
private List<Integer> results1;
private List<Integer> results2;
//Setter and getter methods
}
我想在批处理执行结束时生成一份摘要报告。
例如:我有一个接收 accountId 的 ItemProcessor。
for every accountId:
get MarketplaceId's
for every marketplaceId:
call real time availability
在批处理执行结束时,我需要在显示的文件中提供一个很好的摘要,
- 处理的帐户数
- 每个 accoutId 的 marketplaceId 数量
- 未能获得实时可用性的 marketplaceId 数量
- 处理一个 accountId 所用的时间
问题
- 我在哪里坚持这些中间结果,即。每次迭代的不同计数
- 我如何将这些计数带到下一步,这只是一个摘要文件编写器
如果您能提供任何方向,那就太好了。
谢谢。
编写一个 tasklet 来准备一个美好的夏天,并将该 tasklet 作为作业的最后一步
<step id="summeryFile" >
<tasklet ref="summaryFilePreparationTasklet"/>
</step>
Bean 配置是
<bean id="summaryFilePreparationTasklet" class="com.baji.batch.SummaryPreparationFile">
和Class文件是
package com.baji.batch;
import org.springframework.batch.core.StepContribution;
import org.springframework.batch.core.scope.context.ChunkContext;
import org.springframework.batch.core.step.tasklet.Tasklet;
import org.springframework.batch.repeat.RepeatStatus;
/**
* @Author
* Bhaji Shaik
* May 30, 2015
*/
public class SummaryPreparationFile implements Tasklet {
@Autowired
private Holder holder;
@Override
public RepeatStatus execute(StepContribution arg0, ChunkContext chunkContext) throws Exception {
holder.getResults1();
//Write your own code to Prepare a neat summary preparation File
return null;
}
}
持有人 Class 是
import org.springframework.stereotype.Component;
@Component
public class Holder {
private List<Integer> results1;
private List<Integer> results2;
//Setter and getter methods
}