我有一些不同的应用程序需要强大的数据库支持的作业/任务队列,到目前为止,我很难找到任何有希望的候选人。我喜欢一些建议!
顺便说一句,由数据库支持我打算将作业数据和状态保存到JDBC DB以实现可靠性。
哦,我特意找了一个图书馆。我知道ActiveMQ和基于JMS的系统等系统。但我需要我的应用程序保持独立,而不是转变为整个平台。 (在将作业/任务建模为消息时,我也总是遇到一些麻烦。)
谢谢,Avi
我建议你再看一下ActiveMQ。虽然默认情况下它是一个独立的应用程序,但您也可以将其嵌入到您的应用程序中,使其“自包含”。我使用ActiveMQ的Spring support完成了这个,但你也可以通过简单地在应用程序中实例化正确的类来以编程方式完成。 ActiveMQ是轻量级的,并提供了几种持久性机制。
关于是否存在将“信息”视为“工作”的不一致,我想这取决于你的“工作”是什么意思。如果我递给你一张说“割草坪”的纸,你认为这是一份工作,那么信息就可以成为工作。如果相反,在你真正开始修剪草坪之前你没有工作,那么它们就不是。
也许你可能想看看使用Spring Batch的job-based domain model。它也是可嵌入的,并且具有内置的持久性,重试性等。