ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)

7.3.1 ISOPoperate()

機能説明

  本関数は、以下の機能を提供します。

1)ワークユニット起動

  指定したワークユニットを起動します。

  本APIを使用する前に必ずInterstage運用API環境の初期化を行ってください。

注1) Solaris版で、ISOP_005以降を指定した場合は、環境初期化時に指定したシステムが対象となります。
注2) 以下の場合は、デフォルトシステムが対象となります。
- Windows(R)版の場合
- pktvl に ISOP_003以下を指定した場合
- Linux版の場合

2)ワークユニット停止

  指定したワークユニットを停止します。

  本APIを使用する前に必ずInterstage運用API環境の初期化を行ってください。

注1) Solaris版で、ISOP_005以降を指定した場合は、環境初期化時に指定したシステムが対象となります。
注2) 以下の場合は、デフォルトシステムが対象となります。
- Windows(R)版の場合
- pktvl に ISOP_003以下を指定した場合
- Linux版の場合

3)オブジェクト閉塞

  指定したオブジェクトを閉塞します。

  本APIを使用する前に必ずInterstage運用API環境の初期化を行ってください。

注1) Solaris版で、ISOP_005以降を指定した場合は、環境初期化時に指定したシステムが対象となります。
注2) 以下の場合は、デフォルトシステムが対象となります。
- Windows(R)版の場合
- pktvl に ISOP_003以下を指定した場合
- Linux版の場合

4)オブジェクト閉塞解除

  指定したオブジェクトの閉塞を解除します。

  本APIを使用する前に必ずInterstage運用API環境の初期化を行ってください。

注1) Solaris版で、ISOP_005以降を指定した場合は、環境初期化時に指定したシステムが対象となります。
注2) 以下の場合は、デフォルトシステムが対象となります。
- Windows(R)版の場合
- pktvl に ISOP_003以下を指定した場合
- Linux版の場合

形式

  #include  <ISOP.h>
  void  ISOPoperate (char  *reqparm)

  引数reqparmは、パラメタ構造体を指すポインタです。パラメタ構造体は使用する機能ごとに、指定された形式の構造体を使用者が獲得し、設定します。
  パラメタ構造体へのポインタをchar*型にキャストして、引数としてください。
  獲得した領域は、あらかじめゼロクリアしてください。

1)ワークユニット起動

パラメタ構造体

  下記のISOP_OPEWU構造体を獲得し、パラメタとして指定してください。

typedef struct _isop_opewu_t {                      /* パラメタ設定用制御表定義  */
      ISOP_CTRL       opctrl;                       /* 基本情報                  */
      char            wuname[ISOP_DEFWUNMMAX];      /* ワークユニット名          */
      long            ctrlopt;                      /* 停止オプション            */
      char            rsv[64];                      /* リザーブ                  */
} ISOP_OPEWU;
設定情報

メンバ名

設定値

意味

opctrl.request

long

ISOP_RSTRWU

要求コード:
ワークユニット起動

opctrl.pktvl

unsigned long

ISOP_006

制御表のバージョン情報

wuname

char[]

ワークユニット名

ワークユニット名

復帰情報

メンバ名

復帰値

意味

opctrl.pktvl
(注1)

unsigned long

ISOP_006

復帰した制御表のバージョン情報

opctrl.result
(注2)

long

0

正常終了

-1

異常終了
エラーの詳細はopctrl.detailを参照

opctrl.detail

long

原因コード

エラーの詳細情報(実行結果詳細値を参照)

注1)
  APIが復帰時に通知する制御表のバージョン情報については、“OLTPサーバ運用ガイド”の“Interstage運用APIの制御表のバージョン・レベルについて”を参照してください。

注2)
  異常終了した場合はopctrl.detailのみ正しい値を設定します。その他の値の内容は不定です。

実行結果詳細値

define値

意味

ISOP_ENOINIT

2003

API環境が初期化されていません。

ISOP_EINVAL_REQ

2101

要求コードに誤りがあります。

ISOP_EAGAIN

3001

システム資源不足が発生しました。しばらくしてから再度実行してください。

ISOP_ENOMEM

3002

メモリ不足が発生しました。

ISOP_ESYSERR

4001

システムエラー。

ISOP_EAPMERROR

4003

何らかの原因でワークユニットの起動に失敗しました。コンソールに異常内容をしめすメッセージが出力されます。

ISOP_ESTPIS

4102

Interstageが起動されていません。

ISOP_ENOWU

4103

指定されたワークユニットは存在しません。または、ワークユニットの形式に誤りがあります。

ISOP_EWUDEF

4104

指定されたワークユニットの定義に誤りがあります。


ISOP_EINTR

4107

割り込みが発生しました。


ISOP_ENOSYSTEM

4110

操作対象システムが削除されました。(注)

ISOP_ESTRWU

4206

指定されたワークユニットはすでに起動/活性化されています。

ISOP_ECONDWU

4210

指定されたワークユニットは操作できない状態です。

  注)pktvlがISOP_005以降の場合に有効。

2)ワークユニット停止

パラメタ構造体

  ワークユニット起動時に獲得、設定した制御表を、パラメタとして指定してください。

設定情報

・ワークユニット起動時の制御表が存在する場合

メンバ名

設定値

意味

opctrl.request

long

ISOP_RSTPWU

要求コード:
ワークユニット停止

ctrlopt

long

ISOP_RSTPWU_NORMAL

停止オプション:通常停止

ISOP_RSTPWU_CANCEL

停止オプション:強制停止

ISOP_RSTPWU_SYNC

同期停止 (注1)

注1)
CORBAワークユニットのみ同期停止を指定できます。


・ワークユニット起動時の制御表が存在しない場合

メンバ名

設定値

意味

opctrl.request

long

ISOP_RSTPWU

要求コード:
ワークユニット停止

opctrl.pktvl

unsigned long

ISOP_006

制御表のバージョン情報

wuname

char[]

ワークユニット名

ワークユニット名

ctrlopt

long

ISOP_RSTPWU_NORMAL

停止オプション:通常停止

ISOP_RSTPWU_CANCEL

停止オプション:強制停止

ISOP_RSTPWU_SYNC

同期停止

復帰情報

メンバ名

復帰値

意味

opctrl.pktvl (注1)

unsigned long

ISOP_006

復帰した制御表のバージョン情報

opctrl.result
(注2)

long

0

正常終了

-1

異常終了
エラーの詳細はopctrl.detailを参照

opctrl.detail

long

原因コード

エラーの詳細情報(実行結果詳細値を参照)

注1)
  APIが復帰時に通知する制御表のバージョン情報については、“OLTPサーバ運用ガイド”の“Interstage運用APIの制御表のバージョン・レベルについて”を参照してください。

注2)
  異常終了した場合はopctrl.detailのみ正しい値を設定します。その他の値の内容は不定です。

実行結果詳細値

define値

意味

ISOP_ENOINIT

2003

API環境が初期化されていません。

ISOP_EINVAL_REQ

2101

要求コードに誤りがあります。

ISOP_EINVAL_CTRL

2102

停止オプションに誤りがあります。

ISOP_EAGAIN

3001

システム資源不足が発生しました。しばらくしてから再度実行してください。

ISOP_ENOMEM

3002

メモリ不足が発生しました。

ISOP_ESYSERR

4001

システムエラー。

ISOP_ESTPABNDWU

4004

ワークユニットの停止処理中にワークユニットが異常終了しました。

ISOP_ESTPIS

4102

Interstageが起動されていません。

ISOP_ENOWU

4103

指定されたワークユニットは存在しません。または、ワークユニットの形式に誤りがあります。


ISOP_EINTR

4107

割り込みが発生しました。


ISOP_ENOSYSTEM

4110

操作対象システムが削除されました。(注)


ISOP_EDIFFUSER

4201

ワークユニット起動ユーザと異なったユーザが指定されています。

ISOP_ESTPWU

4204

指定されたワークユニットは起動されていません。

ISOP_EREQREJECT

4205

キューにデータが存在するためワークユニットは停止できない状態です。

ISOP_ECONDWU

4210

指定されたワークユニットは操作できない状態です。

  注)pktvlがISOP_005以降の場合に有効。

3)オブジェクト閉塞

パラメタ構造体

  下記のISOP_OPEOBJ構造体を獲得し、パラメタとして指定してください。

typedef struct _isop_opeobj_t {     /* パラメタ設定用制御表定義  */
    ISOP_CTRL   opctrl;             /* 基本情報 */
    char        objname[256];       /* オブジェクト名(インプリメンテーショリポジトリID) */
    char        objname2[256];      /* インプリメンテーションリポジトリID内オブジェクト名 */
    char        rsv[256];           /* リザーブ */
} ISOP_OPEOBJ;
設定情報

メンバ名

設定値

意味

opctrl.request

long

ISOP_RINHOBJ

要求コード:
オブジェクト閉塞

opctrl.pktvl

unsigned long

ISOP_006

制御表のバージョン情報

objname

char*

オブジェクト名

オブジェクト名 (注1) (注2)

objname2

char*

インプリメンテーションリポジトリID内オブジェクト名

インプリメンテーションリポジトリID内オブジェクト名 (注2)

注1)
objnameのみを設定した場合、オブジェクトの閉塞が行われます。

注2)
objname,objname2を設定した場合、インプリメンテーションリポジトリID内オブジェクトのキュー閉塞が行われます。

復帰情報

メンバ名

復帰値

意味

opctrl.pktvl (注1)

unsigned long

ISOP_006

復帰した制御表のバージョン情報

opctrl.result (注2)

long

0

正常終了

-1

異常終了
エラーの詳細はopctrl.detailを参照

opctrl.detail

long

原因コード

エラーの詳細情報(実行結果詳細値を参照)

注1)
  APIが復帰時に通知する制御表のバージョン情報については、“OLTPサーバ運用ガイド”の“Interstage運用APIの制御表のバージョン・レベルについて”を参照してください。

注2)
  異常終了した場合はopctrl.detailのみ正しい値を設定します。その他の値の内容は不定です。

実行結果詳細値

define値

意味

ISOP_ENOINIT

2003

API環境が初期化されていません。

ISOP_EINVAL_REQ

2101

要求コードに誤りがあります。

ISOP_EAGAIN

3001

システム資源不足が発生しました。しばらくしてから再度実行してください。

ISOP_ENOMEM

3002

メモリ不足が発生しました。

ISOP_ESYSERR

4001

システムエラー。

ISOP_ESTPIS

4102

Interstageが起動されていません。

ISOP_ENOOBJ

4105

指定されたオブジェクトは存在しません。
または、オブジェクトの形式に誤りがあります。

ISOP_EINTR

4107

割り込みが発生しました。


ISOP_ENOSYSTEM

4110

操作対象システムが削除されました。


ISOP_EDIFFUSER

4201

ワークユニット起動ユーザと異なったユーザが指定されています。

ISOP_ESTPWU

4204

指定されたオブジェクトが属するワークユニットが起動されていません。

ISOP_EINHOBJ

4207

指定されたオブジェクトはすでに閉塞されています。

ISOP_EKINDOBJ

4209

指定されたオブジェクトの種別では閉塞できません。

ISOP_ECONDWU

4210

指定されたオブジェクトが属するワークユニットが操作できる状態ではありません。

ISOP_ENOTSUPPORT
(注1)

4401

使用できない機能を使おうとしています。

注1)
  
Interstage Application Server Enterprise Edition以外の製品の場合に復帰します。

4)オブジェクト閉塞解除

パラメタ構造体

  下記のISOP_OPEOBJ構造体を獲得し、パラメタとして指定してください。

typedef struct _isop_opeobj_t {                      /* パラメタ設定用制御表定義  */
      ISOP_CTRL       opctrl;                       /* 基本情報                  */
      char            objname[ISOP_DEFOBJNMMAX];    /* オブジェクト名            */
      char            objname2[256];      /* インプリメンテーションリポジトリID内オブジェクト名 */
      char            rsv[256];                     /* リザーブ                  */
} ISOP_OPEOBJ;
設定情報

メンバ名

設定値

意味

opctrl.request

long

ISOP_RPMTOBJ

要求コード:
オブジェクト閉塞解除

opctrl.pktvl

unsigned long

ISOP_006

制御表のバージョン情報

objname

char*

オブジェクト名

オブジェクト名 (注1) (注2)

objname2

char*

インプリメンテーションリポジトリID内オブジェクト名

インプリメンテーションリポジトリID内オブジェクト名 (注2)

注1)
objnameのみを設定した場合、オブジェクトの閉塞解除が行われます。

注2)
objname,objname2を設定した場合、インプリメンテーションリポジトリID内オブジェクトのキュー閉塞解除が行われます。

復帰情報

メンバ名

復帰値

意味

opctrl.pktvl(注1)

unsigned long

ISOP_006

復帰した制御表のバージョン情報

opctrl.result(注2)

long

0

正常終了

-1

異常終了
エラーの詳細はopctrl.detailを参照

opctrl.detail

long

原因コード

エラーの詳細情報(実行結果詳細値を参照)

注1)
  APIが復帰時に通知する制御表のバージョン情報については、“OLTPサーバ運用ガイド”の“Interstage運用APIの制御表のバージョン・レベルについて”を参照してください。

注2)
  異常終了した場合はopctrl.detailのみ正しい値を設定します。その他の値の内容は不定です。

実行結果詳細値

define値

意味

ISOP_ENOINIT

2003

API環境が初期化されていません。

ISOP_EINVAL_REQ

2101

要求コードに誤りがあります。

ISOP_EAGAIN

3001

システム資源不足が発生しました。しばらくしてから再度実行してください。

ISOP_ENOMEM

3002

メモリ不足が発生しました。

ISOP_ESYSERR

4001

システムエラー。

ISOP_ESTPIS

4102

Interstageが起動されていません。

ISOP_ENOOBJ

4105

指定されたオブジェクトは存在しません。
または、オブジェクトの形式に誤りがあります。


ISOP_EINTR

4107

割り込みが発生しました。


ISOP_ENOSYSTEM

4110

操作対象システムが削除されました。


ISOP_EDIFFUSER

4201

ワークユニット起動ユーザと異なったユーザが指定されています。

ISOP_ESTPWU

4204

指定されたオブジェクトが属するワークユニットが起動されていません。

ISOP_EINHOBJ

4208

指定されたオブジェクトは閉塞されていません。

ISOP_EKINDOBJ

4209

指定されたオブジェクトの種別では閉塞解除できません。

ISOP_ECONDWU

4210

指定されたオブジェクトが属するワークユニットが操作できる状態ではありません。

ISOP_ENOTSUPPORT
(注1)

4401

使用できない機能を使おうとしています。

注1)
  
Interstage Application Server Enterprise Edition以外の製品の場合に復帰します。

注意事項

  本関数を使用するには、isstartコマンドを使用し、Interstageの起動を行う必要があります。各コンポーネントから提供されている起動コマンドは使用しないでください。

  なお、クラスタ構成で運用する場合には、isstartコマンドを使用する必要はありません。