Network Deployment (Distributed operating systems), v8.0 > Develop and deploying applications > Develop batch applications > Submit batch jobs


Submit batch jobs using the job scheduler EJB interface

The job scheduler EJB interface is used to programmatically submit and manipulate a batch job. We can use the EJB interface with the base scheduler in WAS to perform calendar-based submission of a batch job.

The job scheduler supports programmatic access to its functions over both an EJB interface for Java EE applications and a web services interface for both Java EE and non-Java EE applications. The EJB interface for the job scheduler is described by the interfaces found in the API documentation. Consult this documentation for further information.

Develop and install your batch applications. This topic describes how to submit a batch job to the job scheduler using the base scheduler in WAS. It includes a code example that demonstrates how to invoke the job scheduler EJB.


Procedure

  1. Create and configure a scheduler. Read about how to create and configure a scheduler in the topic on developing and scheduling tasks.

  2. Create a scheduler task for submitting batch work.

    This scheduler task invokes the job scheduler EJB to submit a batch job. Read the instructions for creating a task that invokes an EJB in the topic on developing a task that calls a session bean. This topic also includes instructions for using the calendaring feature of the WebSphere scheduler. The following example demonstrates on how to invoke the job scheduler EJB:

    // 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());
    }
    
    
  3. Run the program to submit batch work.

    Read the topic on submitting a task to a scheduler.


The job scheduler EJB interfaces
Job logs
Submit batch jobs using the job scheduler web services interface

New feature: Scheduling tasks

New feature: Develop a task that calls a session bean

New feature: Submit a task to a scheduler

+

Search Tips   |   Advanced Search