
[英]How to pass List to Spring Batch ItemReader via REST call
[英]In Spring Batch, linked with a ItemReader call I want to call a static util method to populate a string
我有一個 Spring 批處理閱讀器,具有以下配置。 該閱讀器正在從數據庫中讀取,並且一次讀取頁面大小記錄。
@Autowired
private SomeCreditRepot someCreditRepo;
public RepositoryItemReader<SomeCreditModel> reader() {
RepositoryItemReader<SomeCreditModel> reader = new RepositoryItemReader<>();
reader.setRepository(someCreditRepo);
reader.setMethodName("someCreditTransfer");
.
.
..
return reader;
}
我想調用 utils 方法,
refValue = BatchProcessingUtil.generateSomeRefValue();
在處理器步驟之前,以便讀取器獲取的所有記錄都將具有由上述調用給出的相同設置值。
這樣讀取器獲取的所有實體將在處理器中獲得相同的值。
然后這個 refValue 將被寫入另一個表 StoreRefValue(table)。
在 Spring 批處理中執行此操作的正確方法是什么? 我是否應該觸發查詢以將 refValue 寫入處理器中的表 StoreRefValue?
您可以讓您的處理器實現接口StepExecutionListener
。 然后,您必須實施方法afterStep
和beforeStep
。 第一個應該簡單地返回null
,在beforeStep
中你可以調用實用方法並保存它的返回值。
或者,您可以使用注釋@BeforeStep
。 如果您使用通常的 Java DSL,則不需要將處理器顯式添加為步驟的偵聽器。 將它添加為處理器就足夠了。
參考文檔中有更多詳細信息: https://docs.spring.io/spring-batch/docs/current/reference/html/step.html#interceptingStepExecution
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.