我正在寻找可以处理Callable
s 或Runnable
s 的通用异步 Java 作业执行框架。它类似于java.util.concurrent.ExecutorService
, (也可能是 wrap ExecutorService
),但它还具有以下特性:
将作业持久化到数据库的能力,以防应用程序在为作业提供服务时出现故障,并且能够重新启动未完成的作业。(我知道我的工作可能必须执行
Serializable
,这是可以的。)使用 UUID 使客户端能够获取作业令牌并查询作业状态。(在后台,这些信息也将保存到数据库中。)
我已经开始自己通过构建来解决这个问题ExecutorService
,但我更喜欢开箱即用的开源解决方案,如果存在的话。
可以在 Spring 框架中工作的东西将是理想的。