Die EJB-Schnittstelle (Enterprise JavaBeans) des Job-Schedulers wird verwendet, um Compute-Grid-Jobs über das Programm zu übergeben und zu bearbeiten.
/** * Dies ist die Remote-Schnittstelle für die Job-Scheduler-EJB. * Clients dieser Schnittstelle können Jobs programmgestützt ab den * Job-Scheduler übergeben. Mit einem Code ähnlich dem Folgenden * kann die Remote-Schnittstelle für den Job-Scheduler-EJB ermittelt * und aufgerufen werden: * <p> * * InitialContext ctxt = new InitialContext(); <br> * Hashtable env = new Hashtable(); <br> * * env.put (Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"); <br> * env.put(Context.PROVIDER_URL, "corbaloc:iiop:<schedulerHostName>:<schedulerBootstrapPort>/NameServiceCellRoot"); <br> * ctxt = new InitialContext(env); <br> * * // Damit die EJB des Job-Scheduler aus dem Zellenkontext im Namespace ermittelt <br> * // werden kann, muss der Namenskontext für den Anwendungsserver oder Cluster, <br> * // in dem die Scheduler-Anwendung implementiert ist, angegeben werden. <br> * // Beispiel: "Knoten/meinKnoten/Server/meinServer" oder "Cluster/meinCluster". <br> <br> * * String jobSchedulerContext = Cluster/meinCluster; <br> <br> * * JobSchedulerHome zjsHome = (JobSchedulerHome) PortableRemoteObject.narrow(ctxt.lookup(jobSchedulerContext + * "/ejb/com/ibm/websphere/longrun/JobSchedulerHome"),JobSchedulerHome.class); <br> * * JobScheduler js = zjsHome.create(); <br> * * * * @ibm-api */ public interface JobScheduler extends javax.ejb.EJBObject { /** * Übergibt den angegebenen Job, der im xJCL-Repository gespeichert ist, an den Job-Scheduler. * @param job Der Name des Jobs, der im xJCL-Repository gespeichert wurde. * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String submitJobFromRepository( String job ) throws InvalidJobNameException, SchedulerException, JCLException, JobSubmissionException, java.rmi.RemoteException; /** * Übergibt den angegebenen Job, der von der xJCL definiert wird, an den Job-Scheduler. * * @param xJCL Die xJCL des Jobs. * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public String submitJob( String xJCL ) throws SchedulerException, JCLException, JobSubmissionException, java.rmi.RemoteException; /** * Übergibt den Job, der in der an den Job-Scheduler übergebenen xJCL angegeben ist, und * speichert die xJCL im xJCL-Repository. * * @param xJCL Die xJCL des Jobs. * @param job Der Name, unter dem der Job im xJCL-Repository gespeichert wird. Dieser Name kann beim Aufruf * der Methode submitJobFromRepository verwendet werden. * @param replace Ein Boolescher Wert, der angibt, ob die xJCL im Repository ersetzt werden soll, * wenn bereits ein Job mit diesem Namen im xJCL-Repository vorhanden ist. * * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn der Job bereits im xJCL-Repository vorhanden und "false" für den Parameter "replace" angegeben ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public String saveJobToRepositoryAndSubmit( String xJCL, String job, boolean replace ) throws InvalidOperationException, SchedulerException, JCLException, JobSubmissionException, java.rmi.RemoteException; /** * Löscht den Job mit der angegebenen Job-ID aus dem Job-Scheduler und aus den Grid-Endpunktumgebungen. * * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Löschen des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die ID des zu löschenden Jobs. */ public void purgeJob( String jobid ) throws InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Bricht den Job mit der angegebenen Job-ID ab. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Abbruch des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Job-ID des Jobs. */ public void cancelJob( String jobid ) throws InvalidOperationException, InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Erzwingt den Abbruch des Jobs mit der angegebenen Job-ID. * * Nur unter z/OS unterstützt. Die Anforderung "forcedCancelJob" wird auf verteilten Plattformen als Anforderung des * Typs "cancelJob" verarbeitet. * * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Abbruch des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Job-ID des Jobs. */ public void forcedCancelJob( String jobid ) throws InvalidOperationException, InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Startet den Job mit der angegebenen Job-ID erneut. Es können nur Jobs in einem wieder anlauffähigen Status erneut gestartet werden. * * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim erneuten Starten des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Job-ID des Jobs. */ public void restartJob( String jobid ) throws InvalidJobIDException, InvalidOperationException, SchedulerException, JCLException, JobSubmissionException, java.rmi.RemoteException; /** * Gibt den Jobstatus zur angegebenen Job-ID zurück. Eine Liste der von dieser Methode * zurückgegebenen Jobstatuscodes finden Sie bei {@link JobStatusConstants JobStatusConstants}. * * @param jobid Die Job-ID des Jobs. * * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @return Der Status des Jobs. */ public int getJobStatus( String jobid ) throws InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Gibt die Ausgabe eines Jobs mit einer bestimmten Job-ID zurück, die den Fortschritt des Jobs anzeigt. * Dies gilt nur für Stapeljobs. * * @param jobid Die Job-ID des Jobs. * * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @return Jobausgabe des Jobs */ public String getJobOutput( String jobid ) throws InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Gibt die Jobdetails für die angegebene Job-ID zurück. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @return die Details des Jobs wie die Job-ID, den Statustext, den Benutzer, der den Job übergeben hat, und den Jobtyp */ public String getJobDetails(String jobid) throws InvalidJobIDException,SchedulerException,java.rmi.RemoteException; /** * Speichert die übergebene xJCL im xJCL-Repository. * * @param xJCL Die xJCL des Jobs. * @param job Der Name, unter dem der Job im xJCL-Repository gespeichert wird. Dieser Name kann beim Aufruf * der Methode submitJobFromRepository verwendet werden. * @param replace Ein Boolescher Wert, der angibt, ob die xJCL im Repository ersetzt werden soll, * wenn bereits ein Job mit diesem Namen im xJCL-Repository vorhanden ist. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn der Job bereits im xJCL-Repository vorhanden und "false" für den Parameter "replace" angegeben ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public void saveJobToRepository( String xJCL, String job, boolean replace ) throws InvalidOperationException, SchedulerException, JCLException, java.rmi.RemoteException; /** * Gibt die xJCL für den angegebenen Jobnamen aus dem xJCL-Repository zurück. * * @param job Der Name, unter dem der Job im xJCL-Repository gespeichert wird. Dieser Name kann beim Aufruf * der Methode submitJobFromRepository verwendet werden. * * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @return Die xJCL für den angegebenen Job. */ public String showJobFromRepository( String job ) throws InvalidJobNameException, SchedulerException, java.rmi.RemoteException; /** * Entfernt die xJCL für den angegebenen Job aus dem xJCL-Repository. * * @param job Der Name, unter dem der Job im xJCL-Repository gespeichert wird. * * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public void removeJobFromRepository( String job ) throws InvalidJobNameException, SchedulerException, java.rmi.RemoteException; /** * Zeigt alle Jobs im Job-Scheduler. * * @return Die Liste der Job-IDs aller Jobs im Job-Scheduler. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public String[] showAllJobs() throws SchedulerException, java.rmi.RemoteException; /** * Setzt die Ausführung des angegebenen Jobs für die angegebene Anzahl von Sekunden aus. Nach Ablauf * dieses Zeitraums wird der Job automatisch fortgesetzt. Dies gilt nur für Stapeljobs. * * @param jobid Die ID des Jobs, der ausgesetzt werden soll. * @param seconds Die Zeit in Sekunden, während der der Job ausgesetzt werden soll. * * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Aussetzen des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public void suspendJob( String jobid, String seconds ) throws InvalidOperationException, InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Nimmt die Ausführung des angegebenen Jobs wieder auf. Dies gilt nur für Stapeljobs. * * @param jobid Die ID des Jobs, der fortgesetzt werden soll. * * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Wiederaufnahme des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public void resumeJob( String jobid ) throws InvalidOperationException, InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Gibt den Rückkehrcode des Stapeljobs zurück. * * @param jobid Die Job-ID des Jobs. * @return Der Rückkehrcode des Stapeljobs. * * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public int getBatchJobRC(String jobid) throws InvalidOperationException, InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Übergibt den durch die xJCL definierten Job zur angegebenen Startzeit an den Job-Scheduler. * * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String submitDelayedJob( String xJCL, String startTime ) throws SchedulerException, JCLException, JobSubmissionException, InvalidStartDateTimeFormatException, StaleTimeException, java.rmi.RemoteException; /** * Übergibt den im xJCL-Repository gespeicherten Job zur angegebenen Startzeit an den Job-Scheduler. * * @param job Der Name des Jobs, der im Job-Repository gespeichert wurde. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String submitDelayedJobFromRepository( String job, String startTime ) throws InvalidJobNameException, SchedulerException, JCLException, JobSubmissionException, InvalidStartDateTimeFormatException, StaleTimeException, java.rmi.RemoteException; /** * Übergibt den verzögerten Job, der in der an den Job-Scheduler übergebenen xJCL angegeben ist, und * speichert die xJCL im xJCL-Repository. * * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param job Der Name, unter dem der Job im xJCL-Repository gespeichert wird. Dieser Name kann beim Aufruf * der Methode submitJobFromRepository verwendet werden. * @param replace Ein Boolescher Wert, der angibt, ob die xJCL im Repository ersetzt werden soll, * wenn bereits ein Job mit diesem Namen im Job-Repository vorhanden ist. * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String saveDelayedJobToRepositoryAndSubmit( String xJCL, String job, boolean replace, String startTime ) throws InvalidOperationException, SchedulerException, JCLException, JobSubmissionException, InvalidStartDateTimeFormatException, StaleTimeException, java.rmi.RemoteException; /** * Erstellt einen Jobplan für die Übergabe des von der xJCL definierten Jobs zur angegebenen Zeit und im angegebenen Intervall. * * @param reqId Der Name des sich wiederholenden Jobs. * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der erste Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param interval Das Zeitintervall zwischen den Jobs (z. B. täglich, wöchentlich oder monatlich) * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "InvalidIntervalException", wenn das angegebene Intervall keines der unterstützten Zeitintervalle ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void submitRecurringRequest( String reqId, String xJCL, String startTime, String interval ) throws InvalidOperationException, SchedulerException, JCLException, InvalidStartDateTimeFormatException, InvalidIntervalException, StaleTimeException, java.rmi.RemoteException; /** * Erstellt einen Jobplan für die Übergabe des im xJCL-Repository gespeicherten Jobs zur angegebenen Zeit und im angegebenen Intervall. * * @param jobName Der Name des Jobs, der im Job-Repository gespeichert wurde. * @param reqId Der Name des sich wiederholenden Jobs. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param interval Das Zeitintervall zwischen den Jobs (z. B. täglich, wöchentlich oder monatlich) * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "InvalidIntervalException", wenn das angegebene Intervall keines der unterstützten Zeitintervalle ist. * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void submitRecurringRequestFromRepository(String jobName, String reqId, String startTime, String interval) throws InvalidOperationException, SchedulerException, JCLException, InvalidStartDateTimeFormatException, InvalidIntervalException, StaleTimeException, InvalidJobNameException, java.rmi.RemoteException; /** * Einen vorhandenen Jobplan abbrechen * * @param reqId Der Name des Jobplans * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Abbruch des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void cancelRecurringRequest( String reqId ) throws InvalidOperationException, SchedulerException, java.rmi.RemoteException; /** * Gibt Details zu einem vorhandenen Jobplan zurück. * * @param reqId Der Name des Jobplans, der zurückgegeben werden soll. * @return Informationen zum Plan, z. B. den Namen des Plans, den Jobnamen, die Startzeit und das Intervall. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String getRecurringRequestDetails(String reqId) throws SchedulerException, InvalidOperationException, java.rmi.RemoteException; /** * * Einen vorhandenen Jobplan ändern * * @param reqId Der Name des Jobplans, der geändert werden soll. * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der erste Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param interval Das Zeitintervall zwischen den Jobs (z. B. täglich, wöchentlich oder monatlich) * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "InvalidIntervalException", wenn das angegebene Intervall keines der unterstützten Zeitintervalle ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void modifyRecurringRequest(String reqId, String xJCL, String startTime, String interval) throws SchedulerException, JCLException, InvalidOperationException, InvalidStartDateTimeFormatException, StaleTimeException, InvalidIntervalException, java.rmi.RemoteException; /** * Listet alle vorhandenen Jobpläne auf. * * @return eine Liste aller derzeit im System enthaltenen Jobpläne * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] showAllRecurringRequests() throws SchedulerException, java.rmi.RemoteException; /** * Alle Jobs im angegebenen Jobplan anzeigen * * @param reqId Der Name des Jobplans * @return Die Liste der Job-IDs der Jobs im angegebenen Jobplan. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] showRecurringJobs(String reqId) throws SchedulerException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt den Jobstatus für die angegebenen Job-IDs im XML-Format zurück. * * @param jobid Liste der Job-IDs * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @return Jobstatus wie Job-ID, Rückkehrcode, Statuscode und Statustext im XML-Format */ public String getJobsStatus(String[] jobid) throws SchedulerException, java.rmi.RemoteException; /** * Gibt eine Liste der Job-IDs zurück, die mit den angegebenen Kriterien übereinstimmen. * Alle Bedingungen müssen zutreffen, damit eine Übereinstimmung vorliegt. * * @param jobFilter SQL-Filterwert, der auf die Job-ID angewendet werden soll (z. B. Postings%). * @param submitterFilter SQL-Filterwert, der auf den Benutzer angewendet werden soll, der den Job übergibt. * @param nodeFilter SQL-Filterwert, der auf die Namen der Knoten angewendet werden soll, auf denen die Jobs ausgeführt wurden (z. B. node_). * @param appServerFilter SQL-Filterwert, der auf die Namen der Anwendungsserver angewendet werden soll, auf denen die Jobs ausgeführt wurden. * @param stateFilter Liste der Statusjobs. Eine Liste der möglichen Jobstatus finden Sie bei * {@link JobStatusConstants JobStatusConstants}. * @param sortBy - Feld, nach dem die Ergebnisse sortiert werden (z. B. JOBID, STATUS, APPSERVER). * @param ascending - Ein Attribut, das anzeigt, ob die Ergebnisse in aufsteigender oder absteigende Reihenfolge * für das Feld "sortBy" zurückgegeben werden sollen. * * @return Die Liste der Job-IDs, die mit den angegebenen Kriterien übereinstimmen. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getJobsId(String jobFilter, String submitterFilter, String nodeFilter, String appServerFilter, Integer[] stateFilter, String sortBy, boolean ascending) throws SchedulerException, java.rmi.RemoteException; /** * Bricht die in der Liste der Job-IDs angegebenen Jobs ab. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Abbruch des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Liste der Job-IDs, die abgebrochen werden sollen. * @return Liste von Rückkehrcodes. Eine Liste möglicher Rückkehrcodes finden Sie * bei {@link JobSchedulerConstants JobSchedulerConstants}. */ public int[] cancelJob( String[] jobid ) throws SchedulerException, java.rmi.RemoteException; /** * Löscht die in der Liste der Job-IDs angegebenen Jobs aus dem Job-Scheduler und aus den Grid-Endpunktumgebungen. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Löschen des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Liste der Job-IDs, die gelöscht werden sollen. * @return Liste von Rückkehrcodes. Eine Liste möglicher Rückkehrcodes finden Sie * bei {@link JobSchedulerConstants JobSchedulerConstants}. */ public int[] purgeJob( String[] jobid ) throws SchedulerException, java.rmi.RemoteException; /** * Startet die in der Liste der Job-IDs angegebenen Jobs erneut. Es können nur Jobs in einem wieder anlauffähigen Status erneut gestartet werden. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim erneuten Starten des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Liste der Job-IDs, die erneut gestartet werden sollen. * @return Liste von Rückkehrcodes. Eine Liste möglicher Rückkehrcodes finden Sie * bei {@link JobSchedulerConstants JobSchedulerConstants}. */ public int[] restartJob( String[] jobid ) throws SchedulerException, java.rmi.RemoteException; /** * Nimmt die Ausführung der Jobs, die in der Liste der Job-IDs angegeben sind, wieder auf. Dies gilt nur für Stapeljobs. * * @param jobid Die Liste der IDs der Jobs, die fortgesetzt werden sollen. * @return Liste von Rückkehrcodes. Eine Liste möglicher Rückkehrcodes finden Sie * bei {@link JobSchedulerConstants JobSchedulerConstants}. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Wiederaufnahme des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public int[] resumeJob( String[] jobid ) throws SchedulerException, java.rmi.RemoteException; /** * Setzt die Ausführung der angegebenen Jobs für die angegebene Anzahl von Sekunden aus. Nach Ablauf * dieses Zeitraums werden die Jobs automatisch fortgesetzt. Dies gilt nur für Stapeljobs. * * @param jobid Die ID des Jobs, der ausgesetzt werden soll. * @param seconds Die Zeit in Sekunden, während der der Job ausgesetzt werden soll. * @return Liste von Rückkehrcodes. Eine Liste möglicher Rückkehrcodes finden Sie * bei {@link JobSchedulerConstants JobSchedulerConstants}. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Aussetzen des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public int[] suspendJob( String[] jobid, String seconds ) throws SchedulerException, InvalidOperationException, java.rmi.RemoteException; /** * Übergibt den angegebenen Job, der im xJCL-Repository gespeichert ist, und alle angegebenen Name/Wert-Paare zur angegebenen Startzeit * an den Job-Scheduler. * * @param job Der Name des Jobs, der im xJCL-Repository gespeichert wurde. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden, z. B. "host=meinHost port=meinPort" * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String submitModifiableDelayedJobFromRepository( String job, String startTime, String nameValuePairs ) throws InvalidJobNameException, SchedulerException, JCLException, JobSubmissionException, InvalidStartDateTimeFormatException, StaleTimeException, java.rmi.RemoteException; /** * Übergibt den von der xJCL definierten Job und alle angegebenen Name/Wert-Paare zur angegebenen Startzeit an den Job-Scheduler. * * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden, z. B. "host=meinHost port=meinPort" * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String submitModifiableDelayedJob( String xJCL, String startTime, String nameValuePairs ) throws SchedulerException, JCLException, JobSubmissionException, InvalidStartDateTimeFormatException, StaleTimeException, java.rmi.RemoteException; /** * Übergibt den von der xJCL definierten verzögerten Job und alle angegebenen Name/Wert-Paaren an den Job-Scheduler und * speichert die xJCL im xJCL-Repository. * * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param job Der Name, unter dem der Job im xJCL-Repository gespeichert wird. Dieser Name kann beim Aufruf * der Methode submitJobFromRepository verwendet werden. * @param replace Ein Boolescher Wert, der angibt, ob die xJCL im Repository ersetzt werden soll, * wenn bereits ein Job mit diesem Namen im Job-Repository vorhanden ist. * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden, z. B. "host=meinHost port=meinPort" * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String saveModifiableDelayedJobToRepositoryAndSubmit( String xJCL, String job, boolean replace, String startTime, String nameValuePairs ) throws InvalidOperationException, SchedulerException, JCLException, JobSubmissionException, InvalidStartDateTimeFormatException, StaleTimeException, java.rmi.RemoteException; /** * Erstellt einen Jobplan für die Übergabe des von Jobs im angegebenen Intervall. Die Jobs werden von * der xJCL und den angegebenen Name/Wert-Paaren definiert. * * @param reqId Der Name des Jobplans * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param interval Das Zeitintervall zwischen den Jobs (z. B. täglich, wöchentlich oder monatlich) * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden, z. B. "host=meinHost port=meinPort" * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "InvalidIntervalException", wenn das angegebene Intervall keines der unterstützten Zeitintervalle ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void submitModifiableRecurringRequest( String reqId, String xJCL, String startTime, String interval, String nameValuePairs ) throws InvalidOperationException, SchedulerException, JCLException, InvalidStartDateTimeFormatException, InvalidIntervalException, StaleTimeException, java.rmi.RemoteException; /** * Erstellt einen Jobplan für die Übergabe des von Jobs im angegebenen Intervall. Die Jobs werden durch die im xJCL-Repository * gespeicherten xJCL und die angegebenen Name/Wert-Paare definiert. * * @param jobName Der Name des Jobs, der im Job-Repository gespeichert wurde. * @param reqId Der Name des sich wiederholenden Jobs. * @param startTime Die Zeit, zu der der Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param interval Das Zeitintervall zwischen den Jobs (z. B. täglich, wöchentlich oder monatlich) * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden, z. B. "host=meinHost port=meinPort" * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "InvalidIntervalException", wenn das angegebene Intervall keines der unterstützten Zeitintervalle ist. * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void submitModifiableRecurringRequestFromRepository(String jobName, String reqId, String startTime, String interval, String nameValuePairs ) throws InvalidOperationException, SchedulerException, JCLException, InvalidStartDateTimeFormatException, InvalidIntervalException, StaleTimeException, InvalidJobNameException, java.rmi.RemoteException; /** * Übergibt den von der xJCL definierten Job und alle angegebenen Name/Wert-Paaren an den Job-Scheduler und * speichert die xJCL im xJCL-Repository. * * @param xJCL Die xJCL des Jobs. * @param job Der Name, unter dem der Job im xJCL-Repository gespeichert wird. Dieser Name kann beim Aufruf * der Methode submitJobFromRepository verwendet werden. * @param replace Ein Boolescher Wert, der angibt, ob die xJCL im Repository ersetzt werden soll, * wenn bereits ein Job mit diesem Namen im xJCL-Repository vorhanden ist. * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden, z. B. "host=meinHost port=meinPort" * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn der Job bereits im xJCL-Repository vorhanden und "false" für den Parameter "replace" angegeben ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public String saveModifiableJobToRepositoryAndSubmit( String xJCL, String job, boolean replace, String nameValuePairs ) throws InvalidOperationException, SchedulerException, JCLException, JobSubmissionException, java.rmi.RemoteException; /** * Übergibt den angegebenen Job, der im xJCL-Repository gespeichert ist, und alle angegebenen Name/Wert-Paare an den Job-Scheduler. * * @param job Der Name des Jobs, der im xJCL-Repository gespeichert wurde. * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden (z. B. "host=meinHost port=meinPort") * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "InvalidJobNameException", wenn der Job nicht im xJCL-Repository enthalten ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String submitModifiableJobFromRepository( String job, String nameValuePairs ) throws InvalidJobNameException, SchedulerException, JCLException, JobSubmissionException, java.rmi.RemoteException; /** * Übergibt den von der xJCL angegebenen Job und alle angegebenen Name/Wert-Paare an den Job-Scheduler. * * @param xJCL Die xJCL des Jobs. * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden (z. B. "host=meinHost port=meinPort") * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * @return Die Job-ID, die der Job-Scheduler dem übergebenen Job zugeordnet hat. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Jobübergabe einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "JobSubmissionException", wenn bei der Jobübergabe ein Fehler auftritt. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public String submitModifiableJob( String xJCL, String nameValuePairs ) throws SchedulerException, JCLException, JobSubmissionException, java.rmi.RemoteException; /** * Einen vorhandenen Jobplan ändern * * @param reqId Der Name des Jobplans, der geändert werden soll. * @param xJCL Die xJCL des Jobs. * @param startTime Die Zeit, zu der der erste Job übergeben wird. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param interval Das Zeitintervall zwischen den Jobs (z. B. täglich, wöchentlich oder monatlich) * @param nameValuePairs Die durch Leerzeichen begrenzte Name=Wert-Paare, die zum Ändern der xJCL verwendet werden (z. B. "host=meinHost port=meinPort") * Werte, die Sonderzeichen oder Leerzeichen enthalten, müssen mit einem URL mit dem Codeumsetzungsschema UTF-8 codiert werden, bevor sie an die Anforderung übergeben werden. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die xJCL für den Job beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "InvalidStartDateTimeFormatException", wenn Startdatum und/oder Startzeit nicht das erforderliche Format haben. * @throws Ausnahme vom Typ "StaleTimeException" wenn Startdatum und/oder Startzeit im Vergleich mit der aktuellen Zeit älter sind. * @throws Ausnahme vom Typ "InvalidIntervalException", wenn das angegebene Intervall keines der unterstützten Zeitintervalle ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void modifyModifiableRecurringRequest(String reqId, String xJCL, String startTime, String interval, String nameValuePairs) throws SchedulerException, JCLException, InvalidOperationException, InvalidStartDateTimeFormatException, StaleTimeException, InvalidIntervalException, java.rmi.RemoteException; /** * Gibt eine Liste der Jobnamen im Job-Repository zurück, die mit den angegebenen Kriterien übereinstimmen. * Alle Bedingungen müssen zutreffen, damit eine Übereinstimmung vorliegt. * * @param jobNameFilter SQL-Filterwert, der auf die Jobnamen angewendet werden soll (z. B. Postings%) * @param jobDescFilter nicht verwendet * @param sortBy - Feld, nach dem Ergebnisse sortiert werden (z. B. JOBNAME, TXT). * @param ascending - Ein Attribut, das anzeigt, ob die Ergebnisse in aufsteigender oder absteigende Reihenfolge * für das Feld "sortBy" zurückgegeben werden sollen. * * @return Die Liste der Jobnamen, die mit den angegebenen Kriterien übereinstimmen. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung der Anforderung einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getJobsName(String jobNameFilter, String jobDescFilter, String sortBy, boolean ascending) throws SchedulerException, java.rmi.RemoteException; /** * Stoppt den Job mit der angegebenen Job-ID. * * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn kein Job mit der angegebenen Job-ID im Job-Scheduler vorhanden ist. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung der Anforderung einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Job-ID des Jobs. */ public void stopJob( String jobid ) throws InvalidOperationException, InvalidJobIDException, SchedulerException, java.rmi.RemoteException; /** * Stoppt die in der Liste der Job-IDs angegebenen Jobs. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Löschen des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @param jobid Die Liste der Job-IDs, die gestoppt werden sollen. * @return Liste von Rückkehrcodes. Eine Liste möglicher Rückkehrcodes finden Sie * bei {@link JobSchedulerConstants JobSchedulerConstants}. */ public int[] stopJob( String[] jobid ) throws SchedulerException, java.rmi.RemoteException; /** * Analysiert die xJCL syntaktisch, um ein Abbild aller Symbolvariablen zu erstellen, die in der xJCL verwendet werden und keine Systemeigenschaften sind. * @param xJCL Die xJCL des Jobs. * @return Eine Abbildung der Name/Wert-Paare mit Standardwerten: Wert==null ==> kein Standardwert in substitution-props * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "JCLException", wenn die im Repository gespeicherte xJCL beschädigt oder nicht gültig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public String getSymbolicVariables( String clientXJCL ) throws SchedulerException, JCLException, java.rmi.RemoteException; /** * Gibt Jobplaninformationen für die angegebenen Jobplannamen im XML-Format zurück. * * @param requestid Liste der Jobplannamen * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * * @return Jobplaninformationen im XML-Format, z. B. Jobplanname, Jobname, Startzeit und Intervall. */ public String getRequests(String[] requestid) throws SchedulerException, java.rmi.RemoteException; /** * Gibt eine Liste der Jobplannamen zurück, die mit den angegebenen Kriterien übereinstimmen. * Alle Bedingungen müssen zutreffen, damit eine Übereinstimmung vorliegt. * * @param requestIdFilter SQL-Filterwert, der auf den Namen des Jobplans angewendet werden soll (z. B. %Postings%). * @param startTimeFilter SQL-Filterwert, der auf die Zeit der ersten Übergabe des Jobs angewendet werden soll. Das Format der Zeit für die Jobübergabe lautet jjjj-mm-tt hh:mm:ss. * @param submitterFilter SQL-Filterwert, der auf den Benutzer angewendet werden soll, der den Job übergibt. * @param intervalFilter Liste der Zeitintervalle zwischen Jobübergaben (z. B. täglich, wöchentlich, monatlich). * @param statusFilter Liste der Jobstatus. Eine Liste der möglichen Jobstatus finden Sie bei * {@link JobStatusConstants JobStatusConstants}. * @param sortBy - Feld, nach dem die Ergebnisse sortiert werden (z. B. REQUESTID, STARTTIME, INTERVAL) * @param ascending - Ein Attribut, das anzeigt, ob die Ergebnisse in aufsteigender oder absteigende Reihenfolge * für das Feld "sortBy" zurückgegeben werden sollen. * * @return Die Liste der Jobplannamen, die mit den angegebenen Kriterien übereinstimmen. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getRequestsId(String requestIdFilter, String startTimeFilter, String submitterFilter, String[] intervalFilter, Integer[] statusFilter, String sortBy, boolean ascending) throws SchedulerException, java.rmi.RemoteException; /** * Vorhandene Jobpläne abbrechen * * @param reqId Die Liste mit den Namen der Jobpläne, die abgebrochen werden sollen. * @return Liste von Rückkehrcodes. Eine Liste möglicher Rückkehrcodes finden Sie * bei {@link JobSchedulerConstants JobSchedulerConstants}. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler beim Abbruch des Jobs einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public int[] cancelRecurringRequest( String[] reqId ) throws SchedulerException, java.rmi.RemoteException; /** * Gibt das komprimierte Jobprotokoll zurück, das der angeforderten Job-ID zugeordnet ist. * * @param jobid Die ID des Jobs, dessen Protokolldateiname zurückgegeben werden soll. * @return Der Dateisystemname für das Jobprotokoll des angegebenen Jobs. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Jobprotokolle für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String getJobLog( String jobid ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt die Metadaten des Jobprotokolls zurück, das der angeforderten Job-ID zugeordnet ist (Liste mit eindeutigen Jobprotokollunterverzeichnissen für die Job-ID). * * @param jobid Die ID des Jobs, dessen Metadaten zurückgegeben werden sollen. * @return Die Metadaten des Jobprotokolls für den angegebenen Job. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Metadaten für das Jobprotokoll für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getLogMetaData( String jobid ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt die Liste der Jobprotokollabschnitte, die der angeforderten Job-ID und dem Protokollunterverzeichnis zugeordnet sind, zurück. * * @param jobid Die ID des Jobs, für den Protokollabschnittsinformationen zurückgegeben werden sollen. * @param logSubDirName Der Name des Protokollunterverzeichnisses des Jobs, für das Protokollabschnittsinformationen zurückgegeben werden sollen. * @return Die Informationen zu den Jobprotokollabschnitten für den angegebenen Job. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Protokollabschnittsinformationen für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getLogPartList( String jobid, String logSubDirName ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt den Inhalt der Jobprotokolldatei zurück, die der angeforderten Job-ID, dem Protokollunterverzeichnis und der Abschnittsnummer zugeordnet ist. * * @param jobid Die ID des Jobs, für den Protokollabschnittsinformationen zurückgegeben werden sollen. * @param logSubDirName Der Name des Protokollunterverzeichnisses des Jobs, für das Protokollabschnittsinformationen zurückgegeben werden sollen. * @param partNumber Der Name des Jobprotokollabschnitts im Protokollunterverzeichnis, zu dem Abschnittsinformationen zurückgegeben werden sollen. * * @return Inhalt des Jobprotokollabschnitts für den angegebenen Job und das Protokollunterverzeichnis. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Protokollabschnittsinformationen für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getLogPart( String jobid, String logSubDirName, String partNumber ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt die Größe (in Bytes) der Jobprotokolldatei zurück, die der angeforderten Job-ID zugeordnet ist. * * @param jobid Die ID des Jobs, für den Informationen zur Größe der Protokolldatei zurückgegeben werden sollen. * @param logSubDirName Der Name des Protokollunterverzeichnisses des Jobs, zu dem Größeninformationen zurückgegeben werden sollen. * @return Die Größe des Jobprotokolls für den angegebenen Job. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Größeninformationen für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String getLogSize( String jobid, String logSubDirName ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt das Alter der Jobprotokolldatei zurück, die der angeforderten Job-ID, dem Protokollunterverzeichnis und der Abschnittsnummer zugeordnet ist. * * @param jobid Die ID des Jobs, für den Altersinformationen zurückgegeben werden sollen. * @param logSubDirName Der Name des Protokollunterverzeichnisses des Jobs, für das Altersinformationen zurückgegeben werden sollen. * * @return Das Alter des Jobprotokolls (in Tagen) für den angegebenen Jobnamen und das angegebene Protokollunterverzeichnis. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Altersinformationen für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public int getLogAge( String jobid, String logSubDirName ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt die Jobprotokollliste zurück, die der angeforderten Klasse zugeordnet ist. * * @param jobid Die Klassen-ID, zu der Joblisteninformationen zurückgegeben werden sollen. * @param jobClass Die Klassen-ID, die für den Abgleich verwendet werden soll. * @return Eine Liste aller Job-IDs, deren Klassen-ID mit der angegebenen "jobClass" übereinstimmt. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getJobsByClass( String jobClass ) throws SchedulerException, InvalidOperationException, java.rmi.RemoteException; /** Entfernt das komprimierte Jobprotokoll, das der angeforderten Job-ID zugeordnet ist. [ Dies ist die erforderliche Zusatzaktion zu {@link JobScheduler#getJobLog(String) getJobLog(jobid) ] * * @param jobid Die ID des Jobs, dessen komprimierte Protokolldatei entfernt werden soll. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Protokollabschnittsinformationen für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void removeJobLog( String jobid ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Löscht die Jobprotokolldatei, die der angeforderten Job-ID und dem angegebenen Protokollunterverzeichnis zugeordnet ist. * * @param jobid Die ID des Jobs, dessen Jobprotokoll gelöscht werden soll. * @param logSubDirName Der Name des Protokollunterverzeichnisses des Jobs, dessen Jobprotokoll gelöscht werden soll. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn keine Jobinformationen für die angegebene Job-ID vom Job-Scheduler gefunden werden. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void purgeJobLog( String jobid, String logSubDirName ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt die JMX-Adressen des Scheduler-Clusters zurück. * * @return Die JMX-Adressen des Scheduler-Clusters. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getAdminAddresses() throws SchedulerException, InvalidOperationException, java.rmi.RemoteException; /** * Ruft eine Liste der Benutzervorgaben für die angegebene Benutzer-ID und den angegebenen Geltungsbereich ab. * @param userId Die Benutzer-ID für die Anmeldung an der Jobverwaltungskonsole. * @param prefScope Der Geltungsbereich der Vorgaben in der Jobverwaltungskonsole (z. B. JobCollectionForm, SavedJobCollectionForm, * JobScheduleCollectionForm). * @return Eine Liste der Benutzervorgaben im Format Name=Wert. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public String[] getUserPrefs( String userId, String prefScope ) throws SchedulerException, java.rmi.RemoteException; /** * Speichert die Liste der Benutzervorgaben für die angegebene Benutzer-ID und den angegebenen Geltungsbereich. * @param userId Die Benutzer-ID für die Anmeldung an der Jobverwaltungskonsole. * @param prefScope Der Geltungsbereich der Vorgaben in der Jobverwaltungskonsole (z. B. JobCollectionForm, SavedJobCollectionForm, * JobScheduleCollectionForm). * @param prefNameValue Die Liste der Benutzervorgaben im Format Name=Wert. * * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "java.rmi.RemoteException". * */ public void saveUserPrefs( String userId, String prefScope, String[] prefNameValue) throws SchedulerException, java.rmi.RemoteException; /** * Gibt die Jobprotokollliste, die der angeforderten Jobklasse zugeordnet ist, nach Jobprotokollalter sortiert zurück. * * @param jobClass Die Klassen-ID, die für den Abgleich verwendet werden soll. * @return Eine Liste aller Job-IDs, deren Klassen-ID mit "jobClass" übereinstimmt. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getJobLogMetaDataByAgeForClass( String jobClass ) throws SchedulerException, InvalidOperationException, java.rmi.RemoteException; /** * Gibt die Jobprotokollliste, die der angeforderten Jobklasse zugeordnet ist, nach Jobprotokollgröße sortiert zurück. * * @param jobClass Die Klassen-ID, die für den Abgleich verwendet werden soll. * @return Eine Liste aller Job-IDs, deren Klassen-ID mit "jobClass" übereinstimmt. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public String[] getJobLogMetaDataBySizeForClass( String jobClass ) throws SchedulerException, InvalidOperationException, java.rmi.RemoteException; /** * Stoppt die Protokollierung von Benutzerjobs. * * @param jobid Die ID des Jobs, für den die Protokollierung von Anwendungsjobs gestoppt werden soll. * @throws Ausnahme vom Typ "SchedulerException", wenn der Job-Scheduler bei der Verarbeitung des Befehls einen unerwarteten Fehler auslöst. * @throws Ausnahme vom Typ "InvalidJobIDException", wenn die angegebene Job-ID vom Job-Scheduler nicht gefunden wird. * @throws Ausnahme vom Typ "InvalidOperationException", wenn die Operation derzeit für den Job nicht zulässig ist. * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void quiesceLogging( String jobid ) throws SchedulerException, InvalidJobIDException, InvalidOperationException, java.rmi.RemoteException; /** * * * @param jobid Die Job-ID des Jobs. * @param Status Der Status des Jobs. * * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public void sendCheckpointNotification( String jobid, String Status ) throws java.rmi.RemoteException; /** * Gibt "true" zurück, wenn die SAF-Berechtigung aktiviert ist. * Nur unter z/OS unterstützt. * * @return "true", wenn die SAF-Berechtigung aktiviert ist, andernfalls "false". * @throws Ausnahme vom Typ "java.rmi.RemoteException". */ public boolean isSAF() throws java.rmi.RemoteException; }