The premise is this: For asynchronous job processing I have a homemade framework that:
- Stores jobs in database
- Has a simple java api to create more jobs and processors for them
- Processing can be embedded in a web application or can run by itself in on different machines for scaling out
- Web UI for monitoring the queue and canceling queue items
I would like to replace this with some ready made library because I would expect more robustness from those and I don't want to maintain this. I've been researching the issue and figured you could use JMS for something similar. But I would still have to build a simple java API, figure out a runtime where I would put the processing when I want to scale out and build a monitoring UI. I feel like the only thing I would benefit from JMS is that I would not have to do is the database stuff.
Is there something similar to this that is ready made?
Basically this is the setup I would want to do:
- Web application runs in a Servlet container or Application Server
- Web application uses a client api to create jobs
- X amount of machines process those jobs
- Monitor and manage jobs from an UI