我正在尋找一個lib,允許我做尋找持久性計時器的Spring應用程序
- 定義將一次在一個特定的時間在未來被調用的工人(不需要再像featrure時間表/ cron的),即一個定時器
- 工人應接受該枝條一些參數/輸入
- 所有應在DB(或文件)中的工人
- 工人應該由彈簧進行管理持久性的上下文 - - spring應該實例化worker,以便可以使用dependen注入資本投資者入境計劃
- 能夠通過API動態創建定時器並不僅僅是靜態通過Spring XML豆
不錯的:
- 支持集羣,即有多個節點可以承載一個工人。每家商店在中jobn數據庫將引起一個工作invokaction在點頭的一個
我已經研究幾個備選方案都不符合要求:
- 石英
時使用org.springframework.scheduling.quartz.JobDetailBean使石英創建您的工人實例(而不是春天),所以你不能得到依賴注射,(這將導致我使用服務定位器,我想避免)
while using org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean while you can not get a context。你的工人暴露使用MethodInvokingJobDetailFactoryBean中不能使用持久性時,不接受任何arguments.In另外一個公共方法(形成的Javadoc)
注:通過這個FactoryBean創建JobDetails不是序列,因此不適合持續工作商店。您需要將您自己的Quartz Job實現爲每個需要持久作業委託給特定服務方法的情況的精簡包裝器。
- Spring的計時器和簡單的JDK計時器不支持的持久性/集羣功能
我知道我可以使用DB和Spring(甚至JDK)定時器IMPL的事情我自己,但我更喜歡使用一個3r黨的lib。
有什麼建議嗎?
正是我需要的。謝謝 –