タスクの開発とスケジューリング

タスクを開発およびスケジュールするには、構成済みのスケジューラーを使用します。

手順

  1. 構成済みのスケジューラーを検索します。トピック『スケジューラーへのアクセス』を参照してください。 各構成済みスケジューラーは、2 種類のプログラミング・モデルで使用可能です。
    • Java™ Platform, Enterprise Edition (Java EE) サーバー・アプリケーション (サーブレットや Enterprise JavaBeans (EJB) コンポーネントなど) では、スケジューラー API を 使用できます。スケジューラーにアクセスするには、Java Naming and Directory Interface (JNDI) 名またはリソース参照を使用して目的のスケジューラーを検索します。
    • wsadmin スクリプトなどの Java Management Extensions (JMX) アプリケーションでは、WASScheduler MBeans を介して スケジューラー API を使用できます。
  2. タスクを開発します。

    スケジューラー API は、TaskInfo インターフェースのさまざまな実装を サポートしています。これらの実装は、それぞれ特定のタイプの作業のスケジュールに使用することができます。 詳しくは、トピック『セッション Bean を呼び出すタスクの開発』および『Java Message Service (JMS) メッセージを送信するタスクの開発』を参照してください。トピック『Java Message Service (JMS) メッセージを送信するタスクの開発』で言及されているタスク・オブジェクトは、キューまたはトピックに JMS メッセージを送信できます。

    重要: スケジューラー・インターフェースを使用してスケジュール済みタスクを 作成および操作できるのは、EJB コンテナーまたは Web コンテナー (エンタープライズ Bean またはサーブレット) のみです。Java EE アプリケーション・クライアント・コンテナーからの 構成済みスケジューラーの検索と使用はサポートされていません。
  3. スケジューラー通知を受信します。 タスクで操作を実行する際にスケジューラーが生成する通知イベントを受信するために、タスクで通知シンク が設定されます。
  4. カスタム・カレンダーを使用します。 UserCalendar セッション Bean をタスクに割り当てることができます。 これにより、スケジューラーは、カスタムの定義済み日付アルゴリズムを使用して、タスクを実行するタイミングを 決定できるようになります。詳しくは、トピック『UserCalendar インターフェース』を参照してください。
  5. タスクをスケジューラーに送信します。 TaskInfo オブジェクトを作成した後、Scheduler.create() メソッドを呼び出して、タスクを作成するために、 このオブジェクトをスケジューラーにサブミットすることができます。
  6. スケジューラーを使用してタスクを管理します。
  7. スケジューラーを使用してタスクを保護します。

任意の Java EE アプリケーションから SIMPLE カレンダーと CRON カレンダーを使用できます。 この例では、そのプロセスを示しています。

デフォルトのスケジューラー・カレンダーの使用。 以下に、接続を正しく使用しているコード例と、正しく使用していないコード例を示します。

デフォルトのスケジューラー・カレンダーの使用には、 デフォルトの UserCalendarHome Enterprise JavaBeans (EJB) ホーム・オブジェクトの検索、UserCalendar Bean の作成、applyDelta() メソッドの呼び出しが含まれます。 applyDelta メソッド、 および SIMPLE カレンダーと CRON カレンダーの構文の詳細については、トピック『UserCalendar インターフェース』を参照してください。

import java.util.Date;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;
import com.ibm.websphere.scheduler.UserCalendar;
import com.ibm.websphere.scheduler.UserCalendarHome;

// Create an initial context
InitialContext ctx = new InitialContext();

// Lookup and narrow the default UserCalendar home.
UserCalendarHome defaultCalHome=(UserCalendarHome)
		PortableRemoteObject.narrow(ctx.lookup(
      UserCalendarHome.DEFAULT_CALENDAR_JNDI_NAME), 
	   UserCalendarHome.class);

// Create the default UserCalendar instance.
UserCalendar defaultCal = defaultCalHome.create();

// Calculate a date using CRON based on the current
// date and time.  Return the next date that is 
// Saturday at 2AM
Date newDate = 
    defaultCal.applyDelta(new Date(), 
        "CRON", "0 0 2 ? * SAT");

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tsch_developtasks
ファイル名:tsch_developtasks.html