スケジューラーへのタスクのサブミット
構成済みのスケジューラーにタスクの作成をサブミットします。
始める前に
このタスクについて
タスクに関するデータがすべて含まれている TaskInfo オブジェクトを開発したら、タスクの作成を スケジューラーにサブミットします。 タスクが作成されると、スケジューラーがそのタスクを実行します。
手順
タスクを作成します。 TaskInfo を構成した後、Scheduler API の create メソッドを使用して該当するスケジューラーに TaskInfo をサブミットします。
// Create the TaskInfo using the Scheduler that you already looked up and print out the Task ID
TaskStatus ts = scheduler.create(taskInfo);
System.out.println(“Task created with id: “ + ts.getTaskId()”
以下の JACL スクリプト例に示すように、wsadmin ツールを使用してタスクを作成することもできます。
# Create the TaskInfo using the WASScheduler MBean that you previously located and print out the Task ID
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
create() メソッドへの呼び出しが完了すると、タスクがパーシスタント・ストアに作成され、 TaskInfo オブジェクトで指定された時刻にそのタスクが実行されます。 スレッドにグローバル・トランザクション・コンテキストが存在している場合、 および create() トランザクションがロールバックされるか打ち切られる場合、タスクは実行されません。
create() メソッドへの呼び出しにより戻されたタスク状況オブジェクトは、タスクの状況に関する情報およびタスク ID を含みます。 タスク ID は、このタスクの固有の ID であり、後でタスクの中断、再開、キャンセルなどを行う 場合に必要となります。
ヒント: TaskStatus オブジェクトは、タスクの現行状況の単なるスナップショットです。
Scheduler.getStatus() メソッドを
使用して、必要に応じて現行の状態を取得します。