Someter una tarea a un planificador
Someta una tarea a un planificador configurado para la creación.
Antes de empezar
Acerca de esta tarea
Una vez desarrollado un objeto TaskInfo que contiene todos los datos relevantes para una tarea, someta la tarea a un planificador para su creación. Cuando se crea la tarea, el planificador la ejecuta.
Procedimiento
// Cree una TaskInfo mediante el planificador que ya se ha buscado e imprima
el ID de tarea
TaskStatus ts = scheduler.create(taskInfo);
System.out.println("Task created with id: " + ts.getTaskId()”
También puede crear la tarea mediante la herramienta wsadmin como se muestra en el siguiente ejemplo de script JACL:
# Cree la TaskInfo mediante WASScheduler MBean que ya se ha ubicado
previamente e imprima el ID de tarea
puts "Creating the task..."
set params [java::new {java.lang.Object[]} 1]
$params set 0 $taskInfo
set sigs [java::new {java.lang.String[]} 1]
$sigs set 0 com.ibm.websphere.scheduler.TaskInfo
set taskStatus [java::cast com.ibm.websphere.scheduler.TaskStatus [$AdminControl invoke_jmx $schedO
create $params $sigs]]
puts "Task Created. TaskID= [$taskStatus getTaskId]"
puts $taskStatus
Cuando se ha ejecutado la llamada al método create(), la tarea existe en el almacén persistente y se ejecuta a la hora especificada en el objeto TaskInfo. Si existe un contexto transaccional global en la hebra y se retrotrae o cancela la transacción create(), la tarea no se ejecuta.
El objeto TaskStatus, que ha sido devuelto por la llamada al método create(), contiene información sobre el estado de la tarea, así como el identificador de la misma. El identificador de tarea es el identificador exclusivo para esta tarea, y es necesario si más adelante se van a realizar tareas de suspensión, reanudación, cancelación, ...