This project provides reference implementation of Maintenance jobs for maintaining a Apache Jackrabbit OAK repository in Apache Sling.
This includes the following Maintenance jobs:
- DataStoreCleanupScheduler - Run the RepositoryManagementMBean.startDataStoreGC(true) method to perform a Garbage Collection of the Data Store
- RevisionCleanupScheduler - Run the RepositoryManagementMBean.startRevisionGC() method to perform a Garbage Collection of the Revision Store
- VersionCleanup - Job to traverse the JCR Version Store and remove versions (oldest-first) exceeding a configurable limit
As well as a Health Check to ensure the jobs are scheduled and have not failed.
To see a reference implementation, see the Configuration Feature.
There are two primary features made by this project include:
- Base - org.apache.sling:org.apache.sling.jcr.maintenance:slingosgifeature:base:${project.version} - only the bundle and service user
- Default - org.apache.sling:org.apache.sling.jcr.maintenance:slingosgifeature:default:${project.version} - the bundle, service user and default configuration which keeps 5 versions and runs the jobs every night
This module is part of the Apache Sling project.
When paring the bundles in your installation, these are the version combinations that would be compatible:
Apache Sling JCR Maintenance | Apache Jackrabbit Oak |
---|---|
1.0.2 | 1.8.8 to 1.54.0 |
1.1.0 or later | 1.56.0 or later |