L'interface EJB (Enterprise JavaBeans) du planificateur de travaux est utilisée pour soumettre et manipuler un travail par lots à l'aide d'un programme. Vous pouvez utiliser l'interface EJB avec le planificateur de base
dans WebSphere
Application Server pour effectuer la soumission
programmée d'un travail par lots.
Avant de commencer
Le planificateur de travaux prend en charge l'accès par programmation à ses fonctions
via une interface EJB pour des applications Java™ Platform,
Enterprise Edition (Java EE) et une interface de services Web
pour les applications Java EE et non Java EE. L'interface EJB
du planificateur de travaux est décrite par les interfaces indiquées dans la documentation d'API. Pour plus d'informations, reportez-vous à cette documentation.
Développez et installez vos applications par lots.
Pourquoi et quand exécuter cette tâche
Cette rubrique explique comment soumettre un travail par lots au planificateur de travaux à l'aide du planificateur de base. Elle comprend un exemple de code
qui montre comment appeler l'EJB du
planificateur de travaux.
Procédure
- Créez et configurez un planificateur. Lisez comment créer et
configurer un planificateur dans la rubrique relative au développement et à la planification de tâches.
- Créez une tâche de planificateur pour la soumission du travail par lots.
Cette tâche appelle
l'EJB du planificateur de travaux afin de soumettre un travail par lots.
Lisez les instructions pour la création d'une tâche appelant un EJB dans la rubrique relative au développement d'une tâche
de bean session. Cette rubrique comprend également des
instructions pour utiliser la fonction de calendrier du planificateur.
L'exemple suivant montre comment appeler l'EJB du planificateur de travaux :
// These are the import statements needed by the task
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{
//Ensure that the xJCL can be placed in a string, for example, by reading an xJCL
//File into a string
String xJCL = <xJCL as a string>;
//Obtain cell-level naming context
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);
//To look up the LRS EJB from the cell context in the namespace,
//The name context to the application server or cluster to which the LRS
//Application is deployed has to be provided
//Eg: "nodes/myNode/servers/myServer" or "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());
}
- Exécutez le programme pour soumettre le travail par lots.
Lisez la rubrique relative à la soumission d'une tâche à un planificateur.