在我的WebService中,所有的方法调用都会提交作业到队列中。基本上这些操作需要很长时间才能执行,因此所有这些操作都会将作业提交到队列中,并返回一个状态,表示“已提交”。然后客户端使用另一个服务方法进行轮询,以检查作业的状态。
目前,我所做的是创建自己的队列、作业类,这些类是可序列化的,并将这些作业(即它们的序列化字节流格式)持久化到数据库中。因此,更新物流操作只是将“UpdateLogisticsJob”排入队列并返回。我编写了自己的JobExecutor,它每隔N秒钟唤醒一次,扫描数据库表以查找任何现有的作业,并执行它们。注意,这些作业必须被持久化,因为这些作业必须在应用服务器崩溃时保留下来。
这是很久以前做的事情了,我使用了自己的队列、作业、执行器等定制类。但现在,我想知道是否有人做过类似的事情?特别是,
我正在寻找在该领域提供支持的一些框架,可以将作业实例保存到数据库中并重新创建等。
目前,我所做的是创建自己的队列、作业类,这些类是可序列化的,并将这些作业(即它们的序列化字节流格式)持久化到数据库中。因此,更新物流操作只是将“UpdateLogisticsJob”排入队列并返回。我编写了自己的JobExecutor,它每隔N秒钟唤醒一次,扫描数据库表以查找任何现有的作业,并执行它们。注意,这些作业必须被持久化,因为这些作业必须在应用服务器崩溃时保留下来。
这是很久以前做的事情了,我使用了自己的队列、作业、执行器等定制类。但现在,我想知道是否有人做过类似的事情?特别是,
- 是否有可用的框架?Spring/Apache等的一些东西
- 任何易于适应/调试并与Spring等库良好配合的框架都将非常棒。
executeWorkflow("SUBMIT_LEAVE")
操作实际上可能会创建5个作业实例,每个实例至少有5-10个参数,如userId、accountId等要保存到数据库中。我正在寻找在该领域提供支持的一些框架,可以将作业实例保存到数据库中并重新创建等。