Job queuing library/software for Java
<p>The premise is this: For asynchronous job processing I have a homemade framework that:</p>

<ul>
<li>Stores jobs in database</li>
<li>Has a simple java api to create more jobs and processors for them</li>
<li>Processing can be embedded in a web application or can run by itself in on different machines for scaling out</li>
<li>Web UI for monitoring the queue and canceling queue items</li>
</ul>

<p>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.</p>

<p>Is there something similar to this that is ready made?</p>

<p><strong>UPDATE</strong></p>

<p>Basically this is the setup I would want to do:</p>

<ul>
<li>Web application runs in a Servlet container or Application Server </li>
<li>Web application uses a client api to create jobs</li>
<li>X amount of machines process those jobs</li>
<li>Monitor and manage jobs from an UI</li>
</ul>
