2012-07-30 48 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

相關問題