L'interface d'EJB du planificateur pour exécution longue permet de soumettre et de manipuler des travaux à exécution longue par programmation. Elle peut être associée au planificateur WebSphere pour soumettre des travaux à exécution longue en fonction d'un calendrier. La présente section explique comment soumettre des travaux à exécution longue à un planificateur pour exécution longue en utilisant un planificateur de base de WebSphere Application Server.
// Instructions import requises par la tâche import javax.naming.*; import com.ibm.websphere.longrun.JobScheduler; import com.ibm.websphere.longrun.JobSchedulerHome private JobSchedulerHome zjsHome = null; private JobScheduler zjs = null; public void process(TaskStatus task) () try{ //Vérifiez que xJCL peut être placé dans une chaîne, par exemple en lisant un fichier xJCL //sous forme de chaîne. String xJCL = <xJCL sous forme de chaîne>; //Obtention du contexte de nommage au niveau de la cellule InitialContext ctxt = new InitialContext(); Hashtable env = new Hashtable(); env.put (Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory"); env.put(Context.PROVIDER_URL,"corbaloc:rir:/NameServiceCellRoot"); ctxt = new InitialContext(env); //Pour rechercher l'EJB LRS à partir du contexte de la cellule dans l'espace de nom, //vous devez indiquer le contexte de nommage du serveur d'applications ou du cluster //sur lequel l'application LRS est déployée. //Par exemple : “nodes/myNode/servers/myServer” ou “clusters/myCluster”. String longRunningContext = <long_running_context>; zjsHome = (JobSchedulerHome) ctxt.lookup(longRunningContext + "/ejb/com/ibm/websphere/longrun/JobSchedulerHome"); zjs = zjsHome.create(); zjs.submitJob( xJCL ); }catch (Exception e) { System.out.println(e.getMessage()); }