Merged 5.0.N (5.0.4) to 5.1.N (5.1.1)

119576 adavis: Merged 5.0.3 (5.0.3) to 5.0.N (5.0.4)
      119521 amukha: Merged 5.0.3-MNT-15258 (5.0.3) to 5.0.3 (5.0.3)
         118559 amukha: MNT-15258: Huge database after upgrade to 5.1.c
            - Added usage of JobLockService for prop cleanup job.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.1.N/root@119609 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Ancuta Morarasu
2015-12-04 08:58:36 +00:00
parent 2021c3b0ec
commit 38ab389189
5 changed files with 167 additions and 25 deletions

View File

@@ -18,7 +18,10 @@
*/
package org.alfresco.repo.attributes;
import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.domain.propval.PropertyValueDAO;
import org.alfresco.repo.lock.JobLockService;
import org.alfresco.repo.lock.LockAcquisitionException;
import org.quartz.Job;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
@@ -31,19 +34,19 @@ import org.quartz.JobExecutionException;
*/
public class PropTablesCleanupJob implements Job
{
protected static final Object PROPERTY_VALUE_DAO_KEY = "propertyValueDAO";
@Override
public void execute(JobExecutionContext jobCtx) throws JobExecutionException
{
JobDataMap jobData = jobCtx.getJobDetail().getJobDataMap();
PropertyValueDAO propertyValueDAO = (PropertyValueDAO) jobData.get(PROPERTY_VALUE_DAO_KEY);
if (propertyValueDAO == null)
// extract the feed cleaner to use
Object cleanerObj = jobData.get("propTablesCleaner");
if (cleanerObj == null || !(cleanerObj instanceof PropTablesCleaner))
{
throw new IllegalArgumentException(PROPERTY_VALUE_DAO_KEY + " in job data map was null");
throw new AlfrescoRuntimeException(
"PropTablesCleanupJob data must contain valid 'PropTablesCleaner' reference");
}
propertyValueDAO.cleanupUnusedValues();
PropTablesCleaner cleaner = (PropTablesCleaner) cleanerObj;
cleaner.execute();
}
}