開發及排程作業

若要開發及排程作業,請使用已配置的排程器。

程序

  1. 查閱已配置的排程器。 請參閱「存取排程」主題。
    每一個已配置的排程器都可以從兩個不同的程式設計模型中使用:
    • Java™ Platform, Enterprise Edition (Java EE) 伺服器應用程式 (例如 Servlet 或 Enterprise JavaBeans (EJB) 元件) 可以使用「排程器 API」。 使用「Java 命名和目錄介面 (JNDI)」名稱或資源參照來查閱排程器,即可存取排程器。
    • 「Java 管理延伸 (JMX)」應用程式 (例如 wsadmin Script) 可以利用 WASScheduler MBean 來使用「排程器 API」。
  2. 開發作業。

    「排程器 API」支援 TaskInfo 介面的不同實作,每一種都可以用來排定特定類型的工作。 如需詳細資料,請參閱「開發呼叫 Session Bean 的作業」主題及「開發傳送 Java 訊息服務 (JMS) 訊息的作業」主題。 「開發傳送 Java 訊息服務 (JMS) 訊息的作業」主題中所參照的作業物件可以將 JMS 訊息傳送至佇列或主題。

    注意: 只有從 EJB 儲存器或 Web 儲存器 (Enterprise Bean 或 Servlet) 內,才支援透過「排程器」介面來建立及操作排定的作業。 不支援從 Java EE 應用程式用戶端儲存器來查閱及使用已配置的排程器。
  3. 接收排程器通知。
    在作業上設定通知接收槽,以便在排程器對作業執行作業時接收排程器所產生的通知事件。
  4. 使用自訂行事曆。
    您可以將 UserCalendar 階段作業 Bean 指派給容許排程器使用自訂及預先定義的日期演算法來決定作業應該執行的時間的作業。 如需詳細資料,請參閱 UserCalendar 介面主題。
  5. 將作業提交給排程器。
    建立 TaskInfo 物件之後,可以透過呼叫 Scheduler.create () 方法,將它提交至排程器以建立作業。
  6. 使用排程器管理作業。
  7. 使用排程器保護作業安全。

範例

您可以從任何 Java EE 應用程式使用 SIMPLE 及 CRON 行事曆。 此範例說明處理程序。

使用預設排程器行事曆。 下列程式碼範例說明如何正確且不正確地使用連線。

使用預設排程器行事曆包括查閱預設 UserCalendarHome Enterprise JavaBeans (EJB) Home 物件、建立 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");