/* * Copyright 2001-2009 Terracotta, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy * of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations * under the License. * */ package org.quartz.core; import java.rmi.Remote; import java.rmi.RemoteException; import java.util.Date; import java.util.List; import java.util.Set; import org.quartz.Calendar; import org.quartz.JobDataMap; import org.quartz.JobDetail; import org.quartz.JobListener; import org.quartz.SchedulerContext; import org.quartz.SchedulerException; import org.quartz.SchedulerListener; import org.quartz.Trigger; import org.quartz.TriggerListener; import org.quartz.UnableToInterruptJobException; import org.quartz.impl.jdbcjobstore.FiredTriggerRecord; /** * @author James House */ public interface RemotableQuartzScheduler extends Remote { /* * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * * Interface. * * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ String getSchedulerName() throws RemoteException; String getSchedulerInstanceId() throws RemoteException; SchedulerContext getSchedulerContext() throws SchedulerException, RemoteException; void start() throws SchedulerException, RemoteException; void startDelayed(int seconds) throws SchedulerException, RemoteException; void standby() throws RemoteException; boolean isInStandbyMode() throws RemoteException; void shutdown() throws RemoteException; void shutdown(boolean waitForJobsToComplete) throws RemoteException; boolean isShutdown() throws RemoteException; Date runningSince() throws RemoteException; String getVersion() throws RemoteException; int numJobsExecuted() throws RemoteException; Class getJobStoreClass() throws RemoteException; boolean supportsPersistence() throws RemoteException; boolean isClustered() throws RemoteException; Class getThreadPoolClass() throws RemoteException; int getThreadPoolSize() throws RemoteException; List getCurrentlyExecutingJobs() throws SchedulerException, RemoteException; Date scheduleJob(SchedulingContext ctxt, JobDetail jobDetail, Trigger trigger) throws SchedulerException, RemoteException; Date scheduleJob(SchedulingContext ctxt, Trigger trigger) throws SchedulerException, RemoteException; void addJob(SchedulingContext ctxt, JobDetail jobDetail, boolean replace) throws SchedulerException, RemoteException; boolean deleteJob(SchedulingContext ctxt, String jobName, String groupName) throws SchedulerException, RemoteException; boolean unscheduleJob(SchedulingContext ctxt, String triggerName, String groupName) throws SchedulerException, RemoteException; Date rescheduleJob(SchedulingContext ctxt, String triggerName, String groupName, Trigger newTrigger) throws SchedulerException, RemoteException; void triggerJob(SchedulingContext ctxt, String jobName, String groupName, JobDataMap data) throws SchedulerException, RemoteException; void triggerJobWithVolatileTrigger(SchedulingContext ctxt, String jobName, String groupName, JobDataMap data) throws SchedulerException, RemoteException; void pauseTrigger(SchedulingContext ctxt, String triggerName, String groupName) throws SchedulerException, RemoteException; void pauseTriggerGroup(SchedulingContext ctxt, String groupName) throws SchedulerException, RemoteException; void pauseJob(SchedulingContext ctxt, String jobName, String groupName) throws SchedulerException, RemoteException; void pauseJobGroup(SchedulingContext ctxt, String groupName) throws SchedulerException, RemoteException; void resumeTrigger(SchedulingContext ctxt, String triggerName, String groupName) throws SchedulerException, RemoteException; void resumeTriggerGroup(SchedulingContext ctxt, String groupName) throws SchedulerException, RemoteException; Set getPausedTriggerGroups(SchedulingContext ctxt) throws SchedulerException, RemoteException; void resumeJob(SchedulingContext ctxt, String jobName, String groupName) throws SchedulerException, RemoteException; void resumeJobGroup(SchedulingContext ctxt, String groupName) throws SchedulerException, RemoteException; void pauseAll(SchedulingContext ctxt) throws SchedulerException, RemoteException; void resumeAll(SchedulingContext ctxt) throws SchedulerException, RemoteException; String[] getJobGroupNames(SchedulingContext ctxt) throws SchedulerException, RemoteException; String[] getJobNames(SchedulingContext ctxt, String groupName) throws SchedulerException, RemoteException; Trigger[] getTriggersOfJob(SchedulingContext ctxt, String jobName, String groupName) throws SchedulerException, RemoteException; String[] getTriggerGroupNames(SchedulingContext ctxt) throws SchedulerException, RemoteException; String[] getTriggerNames(SchedulingContext ctxt, String groupName) throws SchedulerException, RemoteException; JobDetail getJobDetail(SchedulingContext ctxt, String jobName, String jobGroup) throws SchedulerException, RemoteException; Trigger getTrigger(SchedulingContext ctxt, String triggerName, String triggerGroup) throws SchedulerException, RemoteException; List<FiredTriggerRecord> getFiredTriggers(SchedulingContext ctxt, String jobName, String jobGroup) throws SchedulerException; int getTriggerState(SchedulingContext ctxt, String triggerName, String triggerGroup) throws SchedulerException, RemoteException; void addCalendar(SchedulingContext ctxt, String calName, Calendar calendar, boolean replace, boolean updateTriggers) throws SchedulerException, RemoteException; boolean deleteCalendar(SchedulingContext ctxt, String calName) throws SchedulerException, RemoteException; Calendar getCalendar(SchedulingContext ctxt, String calName) throws SchedulerException, RemoteException; String[] getCalendarNames(SchedulingContext ctxt) throws SchedulerException, RemoteException; void addGlobalJobListener(JobListener jobListener) throws RemoteException; void addJobListener(JobListener jobListener) throws RemoteException; boolean removeGlobalJobListener(String name) throws RemoteException; boolean removeJobListener(String name) throws RemoteException; List getGlobalJobListeners() throws RemoteException; Set getJobListenerNames() throws RemoteException; JobListener getGlobalJobListener(String name) throws RemoteException; JobListener getJobListener(String name) throws RemoteException; void addGlobalTriggerListener(TriggerListener triggerListener) throws RemoteException; void addTriggerListener(TriggerListener triggerListener) throws RemoteException; boolean removeGlobalTriggerListener(String name) throws RemoteException; boolean removeTriggerListener(String name) throws RemoteException; List getGlobalTriggerListeners() throws RemoteException; Set getTriggerListenerNames() throws RemoteException; TriggerListener getGlobalTriggerListener(String name) throws RemoteException; TriggerListener getTriggerListener(String name) throws RemoteException; void addSchedulerListener(SchedulerListener schedulerListener) throws RemoteException; boolean removeSchedulerListener(SchedulerListener schedulerListener) throws RemoteException; List getSchedulerListeners() throws RemoteException; boolean interrupt(SchedulingContext ctxt, String jobName, String groupName) throws UnableToInterruptJobException,RemoteException ; }