我正在寻找具有以下特定要求的现有Java库用于任务调度:
- 异步确认-将任务传递给某些自定义服务时,调度程序无法假定该任务将被同步处理。特别是,从服务方法中正确返回信息并不意味着任务已成功处理。可能进一步对该任务进行了异步处理,并且在处理结束后,有必要在Scheduler中明确地确认任务(可能是从另一个线程)。
- 如果未确认任务,则超时后将重复执行该任务。
其他(普通)要求:
- 定期性-调度程序定期处理不断到达的新任务。新任务可以分批处理,例如每1秒。
- 持久性+事务+群集+故障转移-任务是持久性的。仅在事务提交后才处理它们。它们可以在多个主机上并行处理。如果主机发生故障,则会在另一台主机上重复未确认的任务。
- 重试-如果失败,则重复执行任务。
- “至少一次”特征是可以接受的。