執行緒及作業範例

您可以使用 CICSExecutorService 建立可在 CICS 中啟動作業的執行緒。如果您使用此服務來建立執行緒,則建立的 CICS 作業可使用 JCICS API 來存取 CICS 服務。

您有兩種選擇可建立執行緒來啟動 CICS 作業。如果希望產生可攜式的程式碼,您可以在 OSGi 架構中使用 ExecutorService。當應用程式在 JVM 伺服器中執行時,OSGi 架構會自動使用 CICS 實作,在建立執行緒時啟動 CICS 作業。如果您針對 CICS 來撰寫應用程式,則可以使用 JCICS 來直接使用 CICSExecutorService 類別。

下列範例顯示 Java 類別的摘錄,此類別會啟動執行緒來建立暫時儲存體佇列,並將一些資料寫入佇列中。
package com.ibm.cics.executor.test;

import com.ibm.cics.server.CICSExecutorService;
import com.ibm.cics.server.TSQ;
import com.ibm.cics.server.TSQType;

public class ExecutorTest 
{
    public static void main(String[] args) 
    {                                        
        // 列入新的 Runnable 類別
        class CICSJob implements Runnable
        {             
            public void run()
            {
                // 建立暫時儲存體佇列
                TSQ test_tsq = new TSQ();
                test_tsq.setType(TSQType.MAIN);

                // 設定 TSQ 名稱
                test_tsq.setName("TSQWRITE");
                   
                // 寫入暫時儲存體佇列
                // 使用 CICS 區域本端 CCSID 以便讀取
                String test_string = "Hello from a non CICS Thread - "+ threadId;
                try 
                {
                    test_tsq.writeItem(test_string.getBytes(System.getProperty("com.ibm.cics.jvmserver.local.ccsid")));                                                     
                } 
                catch (Exception e)
                {
                    e.printStackTrace();
                }                   
            }
        }

        // 建立並執行新的 CICSJob Runnable
        Runnable task = new CICSJob();
        CICSExecutorService.runAsCICS(task);                                                           
    }
}