Hello Juan Hernandez, I'd like you to do a code review. Please visit
https://gerrit.ovirt.org/41063 to review the following change. Change subject: core: Renmove the usage of static getInstance in SchedulerUtilQuartzImpl ...................................................................... core: Renmove the usage of static getInstance in SchedulerUtilQuartzImpl Change-Id: I240bb1057ae42e6fce241005b9ada02c86afb5bd Signed-off-by: Roy Golan <rgo...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AuditLogCleanupManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoRecoveryManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoStartVmsRunner.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandEntityCleanupManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EngineBackupAwarenessManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJobsManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/JobRepositoryCleanupManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/PmHealthCheckManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolStatusHandler.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java M backend/manager/modules/scheduler/src/main/java/org/ovirt/engine/core/utils/timer/SchedulerUtilQuartzImpl.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java M backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java 18 files changed, 75 insertions(+), 54 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/41063/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java index 09120a5..8d8c631 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java @@ -81,15 +81,20 @@ import org.ovirt.engine.core.dao.PermissionDAO; import org.ovirt.engine.core.utils.collections.MultiValueMapUtils; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; +import org.ovirt.engine.core.utils.timer.SchedulerUtil; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; + +import javax.inject.Inject; @DisableInPrepareMode @NonTransactiveCommandAttribute(forceCompensation = true) public class AddVmTemplateCommand<T extends AddVmTemplateParameters> extends VmTemplateCommand<T> implements QuotaStorageDependent, QuotaVdsDependent { + @Inject + private SchedulerUtilQuartzImpl schedulerUtil; private final List<DiskImage> mImages = new ArrayList<DiskImage>(); private List<PermissionSubject> permissionCheckSubject; protected Map<Guid, DiskImage> diskInfoDestinationMap; @@ -264,7 +269,7 @@ if (jobId != null) { log.info("Cancelling current running update for vms for base template id '{}'", getParameters().getBaseTemplateId()); try { - SchedulerUtilQuartzImpl.getInstance().deleteJob(jobId); + getSchedulUtil().deleteJob(jobId); } catch (Exception e) { log.warn("Failed deleting job '{}' at cancelRecoveryJob", jobId); } @@ -799,7 +804,7 @@ // in case of new version of a template, update vms marked to use latest if (isTemplateVersion()) { - String jobId = SchedulerUtilQuartzImpl.getInstance().scheduleAOneTimeJob(this, "updateVmVersion", new Class[0], + String jobId = getSchedulUtil().scheduleAOneTimeJob(this, "updateVmVersion", new Class[0], new Object[0], 0, TimeUnit.SECONDS); updateVmsJobIdMap.put(getParameters().getBaseTemplateId(), jobId); } @@ -1014,4 +1019,8 @@ } return vmSnapshotId; } + + private SchedulerUtil getSchedulUtil() { + return schedulerUtil; + } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AuditLogCleanupManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AuditLogCleanupManager.java index 5da5710..f07e8e3 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AuditLogCleanupManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AuditLogCleanupManager.java @@ -8,6 +8,7 @@ import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.compat.DateTime; import org.ovirt.engine.core.dal.dbbroker.DbFacade; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.slf4j.Logger; @@ -32,7 +33,7 @@ calendar.get(Calendar.MINUTE), calendar.get(Calendar.HOUR_OF_DAY)); log.info("Setting audit cleanup manager to run at '{}'", cronExpression); - SchedulerUtilQuartzImpl.getInstance().scheduleACronJob(this, "onTimer", new Class[] {}, new Object[] {}, + Injector.get(SchedulerUtilQuartzImpl.class).scheduleACronJob(this, "onTimer", new Class[] {}, new Object[] {}, cronExpression); log.info("Finished initializing {}", getClass().getSimpleName()); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoRecoveryManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoRecoveryManager.java index 732ca97..1399554 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoRecoveryManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoRecoveryManager.java @@ -22,6 +22,7 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dao.AutoRecoverDAO; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.ovirt.engine.core.vdsbroker.NetworkMonitoringHelper; @@ -49,7 +50,7 @@ */ void initialize() { log.info("Start initializing {}", getClass().getSimpleName()); - SchedulerUtilQuartzImpl.getInstance().scheduleACronJob(this, "onTimer", + Injector.get(SchedulerUtilQuartzImpl.class).scheduleACronJob(this, "onTimer", new Class<?>[] {}, new Object[] {}, Config.<String> getValue(ConfigValues.AutoRecoverySchedule)); log.info("Finished initializing {}", getClass().getSimpleName()); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoStartVmsRunner.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoStartVmsRunner.java index fb69c6d..ac7e042 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoStartVmsRunner.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AutoStartVmsRunner.java @@ -29,6 +29,7 @@ import org.ovirt.engine.core.utils.lock.EngineLock; import org.ovirt.engine.core.utils.lock.LockManagerFactory; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; +import org.ovirt.engine.core.utils.timer.SchedulerUtil; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -54,6 +55,8 @@ /** Records of HA VMs that need to be restarted */ private CopyOnWriteArraySet<AutoStartVmToRestart> autoStartVmsToRestart; + @Inject + private SchedulerUtilQuartzImpl schedulerUtil1; private AutoStartVmsRunner() { // There might be HA VMs which went down just before the engine stopped, we detected @@ -73,7 +76,7 @@ private void init() { int autoStartVmsRunnerIntervalInSeconds = Config.<Integer>getValue(ConfigValues.AutoStartVmsRunnerIntervalInSeconds); - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob( + schedulerUtil1.scheduleAFixedDelayJob( this, "startFailedAutoStartVms", new Class[] {}, diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java index dc6a690..26eddbc 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/Backend.java @@ -252,7 +252,8 @@ initExecutionMessageDirector(); - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(SessionDataContainer.getInstance(), + taskSchedulers.select(SchedulerUtilQuartzImpl.class).get() + .scheduleAFixedDelayJob(SessionDataContainer.getInstance(), "cleanExpiredUsersSessions", new Class[] {}, new Object[] {}, 1, 1, TimeUnit.MINUTES); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandEntityCleanupManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandEntityCleanupManager.java index 71d286b..59d8295 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandEntityCleanupManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/CommandEntityCleanupManager.java @@ -8,6 +8,7 @@ import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.compat.DateTime; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.slf4j.Logger; @@ -32,7 +33,7 @@ calendar.get(Calendar.MINUTE), calendar.get(Calendar.HOUR_OF_DAY)); log.info("Setting command entity cleanup manager to run at: {}", cronExpression); - SchedulerUtilQuartzImpl.getInstance().scheduleACronJob(this, "onTimer", new Class[] {}, new Object[] {}, + Injector.get(SchedulerUtilQuartzImpl.class).scheduleACronJob(this, "onTimer", new Class[] {}, new Object[] {}, cronExpression); log.info("Finished initializing {}", getClass().getSimpleName()); } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EngineBackupAwarenessManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EngineBackupAwarenessManager.java index 17170a0..cc33b8a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EngineBackupAwarenessManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/EngineBackupAwarenessManager.java @@ -17,6 +17,7 @@ import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; import org.ovirt.engine.core.dao.EngineBackupLogDao; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; +import org.ovirt.engine.core.utils.timer.SchedulerUtil; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -27,6 +28,9 @@ */ @Singleton public class EngineBackupAwarenessManager implements BackendService { + + @Inject + private SchedulerUtilQuartzImpl schedulerUtil; private enum BackupScope { DB("db"), @@ -59,10 +63,10 @@ Integer backupCheckPeriodInHours = Config.<Integer>getValue(ConfigValues.BackupCheckPeriodInHours); // disable feature if value is negative if (backupCheckPeriodInHours > 0) { - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(this, + schedulerUtil.scheduleAFixedDelayJob(this, "backupCheck", - new Class[] { }, - new Object[] { }, + new Class[] {}, + new Object[] {}, backupCheckPeriodInHours, backupCheckPeriodInHours, TimeUnit.HOURS); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java index 5bcda42..43e69b4 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/IsoDomainListSyncronizer.java @@ -46,6 +46,7 @@ import org.ovirt.engine.core.dao.StorageDomainDAO; import org.ovirt.engine.core.dao.StoragePoolDAO; import org.ovirt.engine.core.dao.provider.ProviderDao; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; @@ -101,7 +102,7 @@ repoStorageDom = DbFacade.getInstance().getRepoFileMetaDataDao(); providerDao = DbFacade.getInstance().getProviderDao(); isoDomainRefreshRate = Config.<Integer> getValue(ConfigValues.AutoRepoDomainRefreshTime) * MIN_TO_MILLISECONDS; - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(this, + Injector.get(SchedulerUtilQuartzImpl.class).scheduleAFixedDelayJob(this, "fetchIsoDomains", new Class[] {}, new Object[] {}, diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java index aeb8c02..ae87dc5 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/OvfDataUpdater.java @@ -16,6 +16,7 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dao.StoragePoolDAO; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; import org.ovirt.engine.core.utils.timer.SchedulerUtil; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; @@ -38,7 +39,7 @@ } public void initOvfDataUpdater() { - SchedulerUtil scheduler = SchedulerUtilQuartzImpl.getInstance(); + SchedulerUtil scheduler = Injector.get(SchedulerUtilQuartzImpl.class); scheduler.scheduleAFixedDelayJob(this, "ovfUpdate_timer", new Class[] {}, new Object[] {}, Config.<Integer> getValue(ConfigValues.OvfUpdateIntervalInMinutes), Config.<Integer> getValue(ConfigValues.OvfUpdateIntervalInMinutes), TimeUnit.MINUTES); diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJobsManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJobsManager.java index fb17dca..8f988f8 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJobsManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/gluster/GlusterJobsManager.java @@ -23,7 +23,7 @@ log.debug("Initializing Gluster Jobs Manager"); - SchedulerUtil scheduler = SchedulerUtilQuartzImpl.getInstance(); + SchedulerUtil scheduler = Injector.get(SchedulerUtilQuartzImpl.class); scheduler.scheduleAFixedDelayJob(GlusterSyncJob.getInstance(), "refreshLightWeightData", diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/JobRepositoryCleanupManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/JobRepositoryCleanupManager.java index 34c8b0d..abea56a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/JobRepositoryCleanupManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/job/JobRepositoryCleanupManager.java @@ -6,6 +6,7 @@ import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.dal.dbbroker.DbFacade; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.slf4j.Logger; @@ -34,7 +35,7 @@ failedJobTime = Config.<Integer> getValue(ConfigValues.FailedJobCleanupTimeInMinutes).intValue(); Integer cleanupFrequency = Config.<Integer> getValue(ConfigValues.JobCleanupRateInMinutes); - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(this, + Injector.get(SchedulerUtilQuartzImpl.class).scheduleAFixedDelayJob(this, "completed_jobs_cleanup", new Class[] {}, new Object[] {}, diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/PmHealthCheckManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/PmHealthCheckManager.java index cc62922..f740889 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/PmHealthCheckManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/pm/PmHealthCheckManager.java @@ -30,6 +30,7 @@ import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AlertDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.dao.VdsDAO; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.ThreadUtils; import org.ovirt.engine.core.utils.linq.LinqUtils; import org.ovirt.engine.core.utils.linq.Predicate; @@ -62,7 +63,7 @@ if(Config.<Boolean>getValue(ConfigValues.PMHealthCheckEnabled)) { log.info("Start initializing {}", getClass().getSimpleName()); Integer pmHealthCheckInterval = Config.<Integer> getValue(ConfigValues.PMHealthCheckIntervalInSec); - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(this, + Injector.get(SchedulerUtilQuartzImpl.class).scheduleAFixedDelayJob(this, "pmHealthCheck", new Class[] {}, new Object[] {}, diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java index 2f597e2..33fc739 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/scheduling/SchedulingManager.java @@ -373,7 +373,7 @@ cluster.getName()); // release pending threads (requests) and current one (+1) clusterLockMap.get(cluster.getId()) - .release(Config.<Integer> getValue(ConfigValues.SchedulerOverBookingThreshold) + 1); + .release(Config.<Integer>getValue(ConfigValues.SchedulerOverBookingThreshold) + 1); } } @@ -786,12 +786,12 @@ public static void enableLoadBalancer() { if (Config.<Boolean> getValue(ConfigValues.EnableVdsLoadBalancing)) { log.info("Start scheduling to enable vds load balancer"); - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(instance, + Injector.get(SchedulerUtilQuartzImpl.class).scheduleAFixedDelayJob(instance, "performLoadBalancing", new Class[] {}, new Object[] {}, - Config.<Integer> getValue(ConfigValues.VdsLoadBalancingIntervalInMinutes), - Config.<Integer> getValue(ConfigValues.VdsLoadBalancingIntervalInMinutes), + Config.<Integer>getValue(ConfigValues.VdsLoadBalancingIntervalInMinutes), + Config.<Integer>getValue(ConfigValues.VdsLoadBalancingIntervalInMinutes), TimeUnit.MINUTES); log.info("Finished scheduling to enable vds load balancer"); } @@ -802,7 +802,7 @@ if (Config.<Boolean> getValue(ConfigValues.EnableVdsLoadBalancing)) { log.info("Start HA Reservation check"); Integer interval = Config.<Integer> getValue(ConfigValues.VdsHaReservationIntervalInMinutes); - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(instance, + Injector.get(SchedulerUtilQuartzImpl.class).scheduleAFixedDelayJob(instance, "performHaResevationCheck", new Class[] {}, new Object[] {}, diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolStatusHandler.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolStatusHandler.java index 5f398cb..1454bf9 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolStatusHandler.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/storage/StoragePoolStatusHandler.java @@ -20,6 +20,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.inject.Inject; + public final class StoragePoolStatusHandler { private static final Logger log = LoggerFactory.getLogger(StoragePoolStatusHandler.class); @@ -28,14 +30,16 @@ private Guid poolId; private String timerId; + @Inject + private SchedulerUtilQuartzImpl schedulerUtil; private StoragePoolStatusHandler(Guid poolId) { this.poolId = poolId; timerId = null; } - private SchedulerUtil getScheduler() { - return SchedulerUtilQuartzImpl.getInstance(); + protected SchedulerUtil getScheduler() { + return schedulerUtil; } private StoragePoolStatusHandler scheduleTimeout() { diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java index 4496f13..e38acbe 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/tasks/AsyncTaskManager.java @@ -37,6 +37,7 @@ import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; +import org.ovirt.engine.core.di.Injector; import org.ovirt.engine.core.utils.collections.MultiValueMapUtils; import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; @@ -96,7 +97,7 @@ this.coco = coco; _tasks = new ConcurrentHashMap<Guid, SPMTask>(); - SchedulerUtil scheduler = SchedulerUtilQuartzImpl.getInstance(); + SchedulerUtil scheduler = Injector.get(SchedulerUtilQuartzImpl.class); scheduler.scheduleAFixedDelayJob(this, "_timer_Elapsed", new Class[]{}, new Object[]{}, Config.<Integer>getValue(ConfigValues.AsyncTaskPollingRate), Config.<Integer>getValue(ConfigValues.AsyncTaskPollingRate), TimeUnit.SECONDS); diff --git a/backend/manager/modules/scheduler/src/main/java/org/ovirt/engine/core/utils/timer/SchedulerUtilQuartzImpl.java b/backend/manager/modules/scheduler/src/main/java/org/ovirt/engine/core/utils/timer/SchedulerUtilQuartzImpl.java index 336a285..98d9e21 100644 --- a/backend/manager/modules/scheduler/src/main/java/org/ovirt/engine/core/utils/timer/SchedulerUtilQuartzImpl.java +++ b/backend/manager/modules/scheduler/src/main/java/org/ovirt/engine/core/utils/timer/SchedulerUtilQuartzImpl.java @@ -58,23 +58,6 @@ } } - /** - * @deprecated prefer injecting with - * <pre> - * {@code @Inject }<br> - * {@code SchedulerUtilQuartzImpl taskScheduler; } - * </pre> - * or fetching one using {@linkplain org.ovirt.engine.di.Injector} - * <pre> - * {@code Injector.get(SchedulerUtilQuartzImpl.class) } - * </pre> - * @return a {@code SchedulerUtilQuartzImpl} instance - */ - @Deprecated - public static SchedulerUtil getInstance() { - return instance; - } - @Override protected JobDetail createJobWithBasicMapValues(Object instance, String methodName, diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java index dd36811..96f18da 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/VdsManager.java @@ -127,7 +127,7 @@ } public void scheduleJobs() { - SchedulerUtil sched = SchedulerUtilQuartzImpl.getInstance(); + SchedulerUtil sched = getSchedulUtil(); int refreshRate = Config.<Integer> getValue(ConfigValues.VdsRefreshRate) * 1000; // start with refresh statistics @@ -161,6 +161,10 @@ rateInMinutes, rateInMinutes, TimeUnit.MINUTES)); + } + + private SchedulerUtil getSchedulUtil() { + return Injector.get(SchedulerUtilQuartzImpl.class); } private void initVdsBroker() { @@ -375,7 +379,7 @@ ex.getMessage()); log.debug("Exception", ex); final int VDS_RECOVERY_TIMEOUT_IN_MINUTES = Config.<Integer> getValue(ConfigValues.VdsRecoveryTimeoutInMinutes); - String jobId = SchedulerUtilQuartzImpl.getInstance().scheduleAOneTimeJob(this, "onTimerHandleVdsRecovering", new Class[0], + String jobId = getSchedulUtil().scheduleAOneTimeJob(this, "onTimerHandleVdsRecovering", new Class[0], new Object[0], VDS_RECOVERY_TIMEOUT_IN_MINUTES, TimeUnit.MINUTES); recoveringJobIdMap.put(cachedVds.getId(), jobId); } @@ -587,7 +591,7 @@ ResourceManager.getInstance().runVdsCommand(VDSCommandType.SetVdsStatus, new SetVdsStatusVDSCommandParameters(vds.getId(), VDSStatus.Error)); - SchedulerUtil sched = SchedulerUtilQuartzImpl.getInstance(); + SchedulerUtil sched = getSchedulUtil(); sched.scheduleAOneTimeJob( this, "recoverFromError", @@ -809,7 +813,7 @@ public void dispose() { log.info("vdsManager::disposing"); for (String jobId : registeredJobs) { - SchedulerUtilQuartzImpl.getInstance().deleteJob(jobId); + getSchedulUtil().deleteJob(jobId); } vdsProxy.close(); @@ -965,7 +969,7 @@ if (jobId != null) { log.info("Cancelling the recovery from crash timer for VDS '{}' because vds started initializing", vdsId); try { - SchedulerUtilQuartzImpl.getInstance().deleteJob(jobId); + Injector.get(SchedulerUtilQuartzImpl.class).deleteJob(jobId); } catch (Exception e) { log.warn("Failed deleting job '{}' at cancelRecoveryJob: {}", jobId, e.getMessage()); log.debug("Exception", e); diff --git a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java index 0a124e4..3551ab7 100644 --- a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java +++ b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/irsbroker/IrsProxyData.java @@ -68,6 +68,7 @@ import org.ovirt.engine.core.utils.lock.LockManagerFactory; import org.ovirt.engine.core.utils.threadpool.ThreadPoolUtil; import org.ovirt.engine.core.utils.timer.OnTimerMethodAnnotation; +import org.ovirt.engine.core.utils.timer.SchedulerUtil; import org.ovirt.engine.core.utils.timer.SchedulerUtilQuartzImpl; import org.ovirt.engine.core.utils.transaction.TransactionMethod; import org.ovirt.engine.core.utils.transaction.TransactionSupport; @@ -150,17 +151,21 @@ public IrsProxyData(Guid storagePoolId) { _storagePoolId = storagePoolId; int storagePoolRefreshTime = Config.<Integer> getValue(ConfigValues.StoragePoolRefreshTimeInSeconds); - storagePoolRefreshJobId = SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(this, + storagePoolRefreshJobId = getSchedulUtil().scheduleAFixedDelayJob(this, "_updatingTimer_Elapsed", new Class[0], new Object[0], storagePoolRefreshTime, storagePoolRefreshTime, TimeUnit.SECONDS); domainRecoverOnHostJobId = - SchedulerUtilQuartzImpl.getInstance().scheduleAFixedDelayJob(this, + getSchedulUtil().scheduleAFixedDelayJob(this, "hostsStorageConnectionsAndPoolMetadataRefresh", new Class[0], new Object[0], - Config.<Integer> getValue(ConfigValues.HostStorageConnectionAndPoolRefreshTimeInSeconds), + Config.<Integer>getValue(ConfigValues.HostStorageConnectionAndPoolRefreshTimeInSeconds), storagePoolRefreshTime, TimeUnit.SECONDS); + } + + protected SchedulerUtil getSchedulUtil() { + return Injector.get(SchedulerUtilQuartzImpl.class); } @OnTimerMethodAnnotation("_updatingTimer_Elapsed") @@ -1369,8 +1374,8 @@ log.warn("domain '{}' in problem. vds: '{}'", getDomainIdTuple(domainId), vdsName); Class[] inputType = new Class[] { Guid.class }; Object[] inputParams = new Object[] { domainId }; - String jobId = SchedulerUtilQuartzImpl.getInstance().scheduleAOneTimeJob(this, "onTimer", inputType, - inputParams, Config.<Integer> getValue(ConfigValues.StorageDomainFailureTimeoutInMinutes), + String jobId = getSchedulUtil().scheduleAOneTimeJob(this, "onTimer", inputType, + inputParams, Config.<Integer>getValue(ConfigValues.StorageDomainFailureTimeoutInMinutes), TimeUnit.MINUTES); clearTimer(domainId); _timers.put(domainId, jobId); @@ -1641,7 +1646,7 @@ private void clearTimer(Guid domainId) { String jobId = _timers.remove(domainId); if (jobId != null) { - SchedulerUtilQuartzImpl.getInstance().deleteJob(jobId); + getSchedulUtil().deleteJob(jobId); } } @@ -1710,7 +1715,7 @@ log.info("clear domain error-timers for pool '{}'.", _storagePoolId); for (String jobId : _timers.values()) { try { - SchedulerUtilQuartzImpl.getInstance().deleteJob(jobId); + getSchedulUtil().deleteJob(jobId); } catch (Exception e) { log.warn("failed deleting job '{}'.", jobId); } @@ -1739,8 +1744,8 @@ synchronized (syncObj) { log.info("IrsProxyData::disposing"); resetIrs(); - SchedulerUtilQuartzImpl.getInstance().deleteJob(storagePoolRefreshJobId); - SchedulerUtilQuartzImpl.getInstance().deleteJob(domainRecoverOnHostJobId); + getSchedulUtil().deleteJob(storagePoolRefreshJobId); + getSchedulUtil().deleteJob(domainRecoverOnHostJobId); _disposed = true; } } -- To view, visit https://gerrit.ovirt.org/41063 To unsubscribe, visit https://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I240bb1057ae42e6fce241005b9ada02c86afb5bd Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Roy Golan <rgo...@redhat.com> Gerrit-Reviewer: Juan Hernandez <juan.hernan...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches