L'interfaccia EJB (Enterprise JavaBean) dello scheduler a lunga durata è utilizzata per inoltrare e modificare in maniera programmatica i processi a lunga durata. L'interfaccia EJB può essere utilizzata insieme allo scheduler WebSphere per eseguire l'inoltro in base al calendario dei processi a lunga durata. in questa sezione viene descritto come inoltrare processi a lunga durata allo scheduler utilizzando lo scheduler di base in WebSphere Application Server.
// Le istruzioni di importazione necessarie per l'attività sono 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{ //verificare che l'xJCL possa essere inserito in una stringa, ad esempio leggendo un file xJCL //in una stringa. String xJCL = <xJCL come stringa>; //ottenere il contesto di denominazione a livello di cella 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); //per ricercare l'EJB LRS dal contesto della cella nello spazio dei nomi, //è necessario fornire il contesto di denominazione al server delle applicazioni o al cluster //su cui deve essere distribuita l'applicazione LRS. //Ad esempio, “nodes/myNode/servers/myServer” o “clusters/myCluster”. String longRunningContext = <contesto_lunga_durata>; 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()); }
Related concepts
Interfacce EJB e dei servizi Web per lo scheduler a lunga durata