(選用) CARMA 使用者結束程式

CARMA 支援呼叫使用者結束程式,以容許在啟動期間進行特殊化起始設定,以及在關閉 CARMA 伺服器期間進行特殊化清理。 使用使用者結束程式可讓您提供特定於網站的值給 CARMA ,並減少變更由 PTF 服務維護的配置執行程式的需求。

CARMA 可讓您指定兩個使用者結束程式。 每一個使用者結束程式都會呼叫兩次: 一次是在 CARMA 伺服器啟動中的主要資源配置之前,例如位址空間建立,一次是在釋放所配置的資源之後,例如位址空間終止。

使用者結束程式是使用 CRASRV.properties中的 *.exit 指引來啟動。 除非您在自訂並提交 FEL.SFELSAMP(FELSETUP) 工作時指定不同的位置,否則 CRASRV.properties 位於 /etc/zexpl/中。 如需詳細資料,請參閱 自訂作業設定

附註: CARMA 會執行所提供的使用者結束碼,沒有任何問題。 若要維護安全環境,請務必限制對使用者結束程式碼的更新存取權。

system.exit -位址空間建立及終止的結束點

在建立位址空間之前,會呼叫這個 z/OS® UNIX 型使用者結束程式,在此位址空間中啟動 TSO ,最後啟動 CARMA 伺服器。 該結束程式可以變更影響 CARMA 伺服器啟動的大部分變數。 這包括在變數 CRAPRM8中提供網站特定值的能力,該值可在位址空間建立、CARMA 伺服器啟動以及 CARMA 伺服器的整個作用中生命週期期間使用。 在終止位址空間之後,會重新呼叫相同的使用者結束程式。 如果第一次呼叫以回覆碼 99 或更高的回覆碼結束,則 CARMA 伺服器啟動會在該點中止。

在位址空間建立期間,此結束程式可以在 crastart*.confCRASUB* 中使用之前變更 CRAPRM8 ,這可讓您定義自訂的 STEPLIB 定義。 例如,根據用戶端提供的連線名稱,您可以選取不同的 SCM 版本。

提供範例使用者結束程式作為 /usr/lpp/IBM/zee/samples/craexit.rex。 除非您在 Developer for z/OS的 SMP/E 安裝期間使用不同的路徑。
  • craexit.rex: 根據用戶端連線名稱來變更 CRAPRM8 的範例結束程式,以容許不同的 STEPLIB 定義,因此選取不同的 CA Endevor ® SCM 實例,而不使用 CA 的 ENUXSITE 程式。

使用者結束程式範例文件詳細說明傳遞給使用者結束程式的啟動引數:

啟動引數 說明
(STARTUP) | (ENTERING) 指出結束呼叫是在 CARMA 伺服器呼叫之前還是之後。
EXIT_RC=rc 先前呼叫結束程式的回覆碼。

rc 在 (STARTUP) 呼叫期間一律為 0。

CARMA 回覆碼 = rc CARMA 伺服器呼叫的回覆碼。

rc 在 (STARTUP) 呼叫期間一律為 0。

(CLIST) | (CRASTART) CARMA 伺服器啟動方法指示器。

用於建立 CARMA 伺服器位址空間的變數。 這些取決於啟動方法。

  • CLIST: 例如,
    STARTUP=FEL.#CUST.CNTL(CRASUBCA)
CRASTART: 例如,
STARTUP=/usr/lpp/IBM/zee/bin/CRASTART 
FILE=/etc/zexpl/crastart.endevor.conf 
SYSLOG=P TASKLIB=TASKLIB BACKGROUND=0
-!- 位址空間與啟動變數之間的分隔符號。
CARMA 伺服器啟動變數。 這些變數稱為 CRAPRM8CRAPRM1 。 例如, 1312 420 NOEXIT CLIENT=14.0.3.idz14003O-I20161120_1440 CONNECTION=Endevor18 . . .
除了回覆碼之外,使用者結束程式還可以傳回一個字串,其中保留作為啟動引數所收到的大部分變數的新值:
啟動引數 說明
CRAEXIT_return 將字串標示為傳回資料的關鍵字。

用於建立 CARMA 伺服器位址空間的變數。 這些取決於啟動方法。

  • CLIST: 例如,
    STARTUP=FEL.#CUST.CNTL(CRASUBCA)
  • CRASTART: 例如:
    
    STARTUP=/usr/lpp/IBM/zee/bin/CRASTART 
    FILE=/etc/zexpl/crastart.endevor.conf 
    SYSLOG=P TASKLIB=TASKLIB BACKGROUND=0
    
-!- 位址空間與啟動變數之間的分隔符號。
CARMA 伺服器啟動變數。 這些變數稱為 CRAPRM8CRAPRM1 。 例如, 1312 420 NOEXIT CLIENT=14.0.3.idz14003O-I20161120_1440 CONNECTION=Endevor18 . . CAI.NDVR18.REGIONH

rsecomm.log的除錯層次 2 處於作用中狀態時,使用者結束程式所產生的輸出在 rsecomm.log中可見。

user.exit -伺服器啟動和關閉的結束點

此 MVS™ 型使用者結束程式由配置執行程式呼叫,並執行兩次。 起始設定呼叫是在配置暫用資料集之後,以及在呼叫 CARMA 伺服器之前。 清除呼叫是在 CARMA 伺服器結束之後,以及在移除暫存檔之前。 如果第一次呼叫以回覆碼 99 或更高的回覆碼結束,則會岔斷 CARMA 啟動。 這表示 CARMA 伺服器及此使用者結束程式的第二次呼叫都未執行。

除非您在 Developer for z/OS的 SMP/E 安裝期間使用不同的高階限定元,否則範例使用者結束程式會以 FEL.SFELSAMP(CRAEXIT*) 提供。
  • CRAEXIT: 根據用戶端版本配置不同 CARMA VSAM 資料集的範例結束程式。
  • CRAEXIT2: 根據用戶端連線名稱來呼叫不同 CA Endevor ® SCM 的範例結束程式。
範例使用者結束程式會詳細記載傳給使用者結束程式的啟動引數:
啟動引數 說明
(STARTUP) | (ENTERING) 指出結束呼叫是在 CARMA 伺服器呼叫之前還是之後。
EXIT_RC=rc

先前呼叫結束程式的回覆碼。

rc 在 (STARTUP) 呼叫期間一律為 0。

CARMA 回覆碼 = rc

CARMA 伺服器呼叫的回覆碼。

在 (STARTUP) 呼叫期間, rc 一律為 0。

CARMA 伺服器啟動指令及啟動引數。 例如, ISPSTART PGM(CRASERV) PARM(1312 420 EXIT=FEL.#CUST(CRAEXIT) CLIENT=14.0.3.idz14003O-I20161120_1440 CONNECTION=Endevor18 . . . )

使用者結束程式產生的輸出會顯示在 CARMA 伺服器的 DD SYSTSPRT 中。