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

Reply via email to