1
我們正在開發基於Hibernate的Spring應用程序,它將負責發送1000封電子郵件。Spring批處理和休眠 - 羣發電子郵件應用程序
簡而言之,目前只有一個作業定義了一個步驟。
<job id="emailJob" xmlns="http://www.springframework.org/schema/batch" restartable="true"
job-repository="jobRepository">
<step id="emailJobFetchUsers">
<tasklet>
<chunk reader="emailItemReader" processor="emailItemProcessor" writer="emailItemWriter" commit-interval="1"/>
</tasklet>
<end on="COMPLETED"/>
<fail on="FAILED"/>
</step>
<listeners>
<listener ref="loggingListener"/>
</listeners>
</job>
- emailItemReader延伸HibernateCursorItemReader並返回該行的實體(在這種情況下,它代表了客戶的選擇電子郵件的記錄)
- emailItemProcessor生成和向客戶發送特定電子郵件
- emailItemWriter僅更新了實體的一些信息,比如最後的發送日期
雖然這工作的,我不知道這是否都應該一步到位,或者每一個行動都應該有一個步驟負責。我主要關心的是可重啓性和恢復。也就是說,對於一個用戶(可能是由於無效的電子郵件地址或生成電子郵件的問題)發生了這種異常,或者如果應用程序服務器出現故障並重新啓動,我希望它能夠從它離開的位置接收發送的電子郵件關閉。
任何人都可以在上面提出建議嗎?
謝謝,