2012-07-30 50 views
0

我有一个spring批处理作业。这项工作的第一项任务是创建虚拟数据。我只想运行一次这个作业,之后运行多少次并不重要,或者说可以根据属性文件中的某些属性值将此任务配置为仅运行一次。我如何实现这一功能。spring批处理只运行一次任务

在生产系统中,这可能与创建文件夹结构以在处理文件之前复制不同的文件类型相同。

回答

1

Tasklet Spring Batch的界面就是你要找的。您必须实施execute方法。

public class FolderTasklet implements Tasklet{ 

    public RepeatStatus execute(StepContribution stepContribution, ChunkContext chunkContext) throws Exception { 
    //your copy folder structure logic goes here 
    } 
} 
+0

我现在正在使用一个tasklet,并根据官方文档,看起来像是用来设置资源和清理。我所寻找的只是一次只做一件事,无论工作多少次。我想这种事情需要在工作之外完成,然后执行工作。感谢回复 – user373201 2012-08-01 11:16:42

+0

Spring批处理作业主要适用于读写器场景。如果您需要在每个作业执行的主要步骤之前进行设置,则可以将其作为父级步骤进行创建。但是如果你只需要一次这个设置过程,最好的事情就是用一个tasklet创建另一个工作。 – 2012-08-01 12:01:08

相关问题