private ClusterSchedulerEngine _getClusterSchedulerEngine( boolean master, int memoryClusterJobs, int persistentJobs) throws Exception { MockSchedulerEngine mockSchedulerEngine = new MockSchedulerEngine(memoryClusterJobs, persistentJobs); MockClusterExecutor mockClusterExecutor = new MockClusterExecutor(true, mockSchedulerEngine); ClusterExecutorUtil clusterExecutorUtil = new ClusterExecutorUtil(); clusterExecutorUtil.setClusterExecutor(mockClusterExecutor); ClusterSchedulerEngine clusterSchedulerEngine = new ClusterSchedulerEngine(mockSchedulerEngine); Address masterAddress = null; if (master) { masterAddress = ClusterExecutorUtil.getLocalClusterNodeAddress(); } else { masterAddress = MockClusterExecutor._anotherAddress; } MockLockLocalService.setLock(AddressSerializerUtil.serialize(masterAddress)); SchedulerEngineHelperImpl schedulerEngineHelperImpl = new SchedulerEngineHelperImpl(); schedulerEngineHelperImpl.setSchedulerEngine(clusterSchedulerEngine); SchedulerEngineHelperUtil schedulerEngineHelperUtil = new SchedulerEngineHelperUtil(); schedulerEngineHelperUtil.setSchedulerEngineHelper(schedulerEngineHelperImpl); clusterSchedulerEngine.initialize(); clusterSchedulerEngine.start(); return clusterSchedulerEngine; }