スケジューラー・インターフェース
スケジューラーへの参照を検出し、タスクを処理するには、 (スケジューラー構成の Java™ Naming and Directory Interface (JNDI) 名前空間で) com.ibm.websphere.scheduler.Scheduler Java™ オブジェクトを使用します。
com.ibm.websphere.scheduler.Scheduler Java オブジェクトは、 各スケジューラー構成の JNDI 名前空間に存在します。スケジューラーへの参照は、JNDI 名の検索を実行することにより取得できますが、検索が 有効となるのは、スケジューラー・インスタンスが存在するサーバー・プロセスからのみとなります。参照が 取得されると、呼び出し元にスケジューラー・インスタンスへのアクセス権がある場合は、タスクの作成、中断、キャンセル などを実行できます。
詳しくは、API 文書のインターフェース・スケジューラーを参照してください。
- タスクの作成
- タスクは、 呼び出し元のグローバル・トランザクション・コンテキストがある場合はこれを使用して、 パーシスタント・ストア内に作成されます。詳しくは、トピックトランザクションおよびスケジューラーを参照してください。これはトランザクション操作であるため、 現行トランザクションがコミットするまでは、タスクを他のスレッドから実行または修正することはできません。
- タスクの修正
- 作成したタスクは、suspend()、resume()、cancel()、および purge() メソッドにより 修正が可能です。 これらのメソッドは、タスク ID ストリング (create() メソッドにより 作成され、TaskStatus オブジェクト内にある) をパラメーターに取ります。 タスクが現在他のスレッドで実行または 修正されている場合、タスクの状態を修正しようとする操作は、試行時にブロックされます。タスクは、このタスクを作成するときに使用されたアプリケーションと同じアプリケーション (EAR ファイル) によってのみ修正することができます。
- タスクの実行
- タスクは、構成の作業マネージャーによって指定されたスレッド・プール内で実行されます。 複数のスケジューラーが同じデータベース・テーブルを 共有するよう構成されている場合、スケジューラーはクラスター化され、テーブル内のタスクは、同じサーバー、ノード、またはセルにあるかどうかにかかわらず、あらゆるスケジューラーで実行できます。
- タスクの検索
- タスクは、作成時に割り当てられた Name プロパティーを使用して検索することができます。 これは、タスクのグループを修正する必要があったり、個々のタスク ID の追跡が困難な場合に役立ちます。