Interstage Application Server OLTPサーバ運用ガイド
目次 索引 前ページ次ページ

付録G ワークユニットの出口機能> G.4 プロセス情報通知機能

G.4.2 プログラミングの流れ

 以下に示す方法でアプリケーションに組み込んでください。

設計方法

情報

設計方法

プロセス通番

ワークユニット内のプロセスごとに、共有メモリのブロックを割り当て、情報を保持している場合など、プロセス異常終了後に再起動したプロセスで、異常終了前のプロセスと同一の共有メモリのブロックを使用したい場合などに、環境変数よりプロセス通番を獲得します。


システム名

アプリケーション内でInterstageのAPIを使用している場合、入力値として設定する必要のある場合に、環境変数よりシステム名を獲得します。

ワークユニット名

アプリケーション内でワークユニット名を意識したアプリケーションの処理(ワークユニットにより動作を切り分けているなど)を行っている場合、環境変数よりワークユニット名を獲得します。


起動ユーザ名

アプリケーションが起動したユーザ名を意識した処理(ユーザ名により認証を行っているなど)を行っている場合、環境変数より起動ユーザ名を獲得します。

プロセス起動回数

自プロセスがワークユニット起動による初回起動か、アプリケーション異常終了後の再起動による起動かを知る必要がある場合に、環境変数よりプロセス起動回数を獲得します。

ワークユニット出口復帰情報

ワークニット内で共有メモリなどを使用する場合、ワークユニット起動時に呼び出されるワークユニット出口の復帰情報に、共有メモリIDなどを設定し復帰することで、ワークユニット配下のアプリケーションプロセスで共有メモリ操作が可能となります。その場合、環境変数よりワークユニット出口復帰情報を獲得し、共有メモリのマッピング処理などを行います。

環境変数名の詳細

 以下の環境変数に情報を設定します。

環境変数名

設定情報

最大データ長

IS_APL_SERIALNUM

プロセス通番

10バイト


IS_APL_SYSNAME

システム名

8バイト

IS_APL_WUNAME

ワークユニット名

36バイト


IS_APL_USRNAME

起動ユーザ名

48バイト

IS_APL_STARTNUM

プロセス起動回数

10バイト

IS_APL_INFO1

ワークユニット出口復帰情報1

10バイト

IS_APL_INFO2

ワークユニット出口復帰情報2

10バイト

アプリケーション作成方法

 アプリケーション上でプロセス情報を獲得したい場合は、環境変数より情報を取り出す必要があります。
 環境変数情報を格納する領域は、必ず最大データ長よりも大きな領域を用意してください。

[C、C++の場合の記述例]


 GetEnvironmentVariable()を使用して環境変数の値を取得します。

#include <windows.h>
long FUNC()
{
    long    rtn,  length=11;
    char    proc_num[11];
    rtn = GetEnvironmentVariable("IS_APL_SERIALNUM",proc_num,length);
              :


 getenv()を使用して環境変数の値を取得します。

#include <stdlib.h>
long FUNC()
{
    char    *proc_num;
    proc_num = getenv("IS_APL_SERIALNUM");
              :

[COBOLの場合の記述例]

 環境変数の値を参照するためには、DISPLAY文とACCEPT文をこの順に実行します。
 DISPLAY文では、参照したい環境変数の名前を一意名または定数に指定し、機能名ENVIRONMENT-NAMEに対応付けた呼び名をUPON指定に書きます。DISPLAY文を実行すると、DISPLAY文の一意名または定数に設定した名前を持つ環境変数が参照可能になります。
 ACCEPT文では、機能名ENVIRONMENT-VALUEに対応付けた呼び名をFROM指定に書きます。ACCEPT文を実行すると、DISPLAY文の実行によって参照可能になった環境変数の値が、ACCEPT文の一意名に設定されます。

   ENVIRONMENT     DIVISION.
   CONFIGURATION   SECTION.
   SPECIAL-NAMES.
       ENVIRONMENT-NAME  IS ENVNAME
       ENVIRONMENT-VALUE  IS ENVVAL.
   DATA            DIVISION.
   WORKING-STORAGE  SECTION.
   01  PROC_NUM  PIC  X(11).
   PROCEDURE     DIVISION.
       DISPLAY  "IS_APL_SERIALNUM"  UPON  ENVNAME.
       ACCEPT  PROC_NUM  FROM  ENVVAL.
              :

目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED