Die EJB-Schnittstelle des Job-Schedulers wird verwendet, um einen Compute-Grid-Job über das Programm zu übergeben und zu bearbeiten. Die
EJB-Schnittstelle kann zusammen mit dem Basis-Scheduler
in WebSphere Application Server verwendet werden, um eine kalenderbasierte Übergabe eines Compute-Grid-Jobs durchzuführen.
In diesem Abschnitt wird beschrieben, wie Sie einen Compute-Grid-Job unter Verwendung des Basis-Schedulers in WebSphere Application Server an den
Job-Scheduler übergeben.
Prozedur
-
Erstellen und konfigurieren Sie einen Scheduler. Diesbezügliche Informationen finden Sie
im Artikel Tasks entwickeln und planen.
-
Erstellen Sie eine Scheduler-Task für die Übergabe von Grid-Anforderungen.
Diese Scheduler-Task ruft die EJB
des Job-Schedulers auf, um einen Compute-Grid-Job
zu übergeben.
Anweisungen zum Erstellen einer Task, die eine EJB aufruft, finden Sie
im Artikel Task entwickeln,
die eine Session-Bean aufruft im Information Center von
WebSphere Application Server Version 6.0.
Dieser Artikel enthält außerdem Anweisungen zur Verwendung der Kalenderfunktion des
WebSphere-Scheduler. Das folgende Task-Codebeispiel zeigt, wie die Compute-Grid-EJB aufgerufen wird:
// Die für die Task erforderlichen Importanweisungen
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{
// Sicherstellen, dass die xJCL in eine Zeichenfolge übernommen werden kann,
// z. B. durch Einlesen einer xJCL-Datei in eine Zeichenfolge
String xJCL = <xJCL as a string>;
// Namenskontext auf Zellenebene abrufen
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);
// Zum Suchen der EJB des Scheduler für lange Laufzeit aus dem Zellenkontext
// im Namespace muss der Namenskontext für den Anwendungsserver oder Cluster,
// in dem die Scheduler-Anwendung implementiert ist, angegeben werden.
// Beispiele: "nodes/myNode/servers/myServer", "clusters/myCluster".
String longRunningContext = <Kontext_für_lange_Laufzeit>;
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());
}
-
Planen Sie die Scheduler-Task für die Übergabe von Grid-Anforderungen.
Weitere Informationen finden Sie im Artikel Task an einen
Scheduler übergeben im Information Center von WebSphere Application Server Version 6.0.