ClusterSchedulerEngine implements IdentifiableOSGiService, SchedulerEngine { @Override public void shutdown() throws SchedulerException { _portalReady = false; _clusterMasterExecutor.removeClusterMasterTokenTransitionListener( _schedulerClusterMasterTokenTransitionListener); _schedulerEngine.shutdown(); } ClusterSchedulerEngine(
		SchedulerEngine schedulerEngine, TriggerFactory triggerFactory); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void delete(String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void delete(
			String jobName, String groupName, StorageType storageType); @Override String getOSGiServiceIdentifier(); @Clusterable(onMaster = true) @Override SchedulerResponse getScheduledJob(
			String jobName, String groupName, StorageType storageType); @Clusterable(onMaster = true) @Override List<SchedulerResponse> getScheduledJobs(); @Clusterable(onMaster = true) @Override List<SchedulerResponse> getScheduledJobs(StorageType storageType); @Clusterable(onMaster = true) @Override List<SchedulerResponse> getScheduledJobs(
			String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void pause(String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void pause(String jobName, String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void resume(String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void resume(
			String jobName, String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void schedule(
			Trigger trigger, String description, String destinationName,
			Message message, StorageType storageType); @Override void shutdown(); @Override void start(); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void suppressError(
			String jobName, String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void unschedule(String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void unschedule(
			String jobName, String groupName, StorageType storageType); @Clusterable(acceptor = SchedulerClusterInvokeAcceptor.class) @Override void update(Trigger trigger, StorageType storageType); @Override void validateTrigger(Trigger trigger, StorageType storageType);  }
@Test public void testShutdown() throws SchedulerException { _clusterSchedulerEngine.start(); Assert.assertNotNull( _mockClusterMasterExecutor. getClusterMasterTokenTransitionListener()); _clusterSchedulerEngine.shutdown(); Assert.assertNull( _mockClusterMasterExecutor. getClusterMasterTokenTransitionListener()); }