我定義我的任務蕾而不ItemWriter這樣的:春天批次:微進程沒有ItemWriter
<b:tasklet>
<b:chunk reader="baseReader" processor="baseProcessor" commit-interval="100" />
</b:tasklet>
,我得到這個錯誤:
配置問題:<b:chunk/>
元素既沒有「作家」的屬性,也不是<writer/>
元素。
你有什麼想法嗎? 謝謝
我定義我的任務蕾而不ItemWriter這樣的:春天批次:微進程沒有ItemWriter
<b:tasklet>
<b:chunk reader="baseReader" processor="baseProcessor" commit-interval="100" />
</b:tasklet>
,我得到這個錯誤:
配置問題:<b:chunk/>
元素既沒有「作家」的屬性,也不是<writer/>
元素。
你有什麼想法嗎? 謝謝
我們可以定義一個塊沒有作家(只是一個讀者+處理器),我設法這樣做。看來,爲了傳遞包含塊作家步必須繼承抽象的繼父母,就像這樣:
<b:step id="task" parent="Task">
<b:tasklet>
<b:chunk reader="baseReader" processor="baseProcessor" commit- interval="100" />
</b:tasklet>
</b:step>
<b:job id="batch" parent="Batch">
<b:step id="etape" parent="task" />
</b:job>
問題解決了,謝謝!
那麼,在一個大塊,一個讀者和一個作家是強制性的!但是,ItemProcessor是可選的。
這是從官方文檔:
5.1.1。配置步驟
儘管步驟所需的依賴項列表相對較短,但它是一個非常複雜的類,可能包含許多協作者。爲了緩解結構,彈簧批次名稱空間可用於:
<job id="sampleJob" job-repository="jobRepository">
<step id="step1">
<tasklet transaction-manager="transactionManager">
<chunk reader="itemReader" writer="itemWriter" commit-interval="10"/>
</tasklet>
</step>
以上的結構代表唯一必需的依賴關係來創建一個面向項目-步驟:
讀者 - 提供處理項目的ItemReader。
writer - 處理由ItemReader提供的項目的ItemWriter。
transaction-manager - Spring的PlatformTransactionManager將用於開始,並且 在處理期間提交事務。
job-repository - 將用於在處理期間(即將提交之前)定期存儲StepExecution和ExecutionContext的JobRepository。對於內聯(在a中定義的內聯),它是元素上的一個屬性;對於一個獨立的步驟,它被定義爲一個屬性。
commit-interval - 提交事務之前要處理的項目數。
應該注意的是,job-repository默認爲「jobRepository」,而transaction-manager默認爲「transactionManger」。此外,ItemProcessor是可選的,不需要,因爲該項目可以直接從閱讀器傳遞給作者。
哇,這是否合法? :d – NagyI