sonatype/nexus-oss — pull request #868 by cstamas (2014-11-17 20:04:18+00:00)
Title: NEXUS-7292: Scheduler rework

Synopsis: dropping `nexus-scheduler` homegrown scheduler and using Quartz instead. The work has started on [quartz-scheduler](https://github.com/sonatype/nexus-oss/tree/quartz-scheduler) branch, but it was initially focused on providing KZ backed JobStore (which it did). The branch was too old to be revived (was drifted far away from current master), so this "reboot" happened.

Major change areas:
* module `nexus-scheduler` removed
* changes in existing package `nexus-core:org.sonatype.nexus.scheduling`
* introduction of `nexus-quartz` module (provider of scheduler)
* adapted existing Rapture UI groovy endpoints, UI itself unchanged.
* lot of smaller changes on existing tasks and task descriptors (and many more in Yum plugin)

Current code follows SPI pattern, where API is in `nexus-core:org.sonatype.nexus.scheduling` and plugin `nexus-quartz-plugin` provides the actual backing implementation. The plugin also exposes Quartz API in it's full. Quartz is configured to use OOTB JdbcJobStore with H2 database (pooling code "borrowed" from NuGet plugin, thanks! As OOTB `PoolingConnectionProvider` based on c3p0 did not play well in Karaf).

This is work in progress.

Issue
https://issues.sonatype.org/browse/NEXUS-7292