trnrmid
形式
〔trnrmid -n リソースマネジャ名 -i リソースマネジャ拡張子〔,リソースマネジャ拡張子〕… 〔-k〕〕
機能
一つのリソースマネジャに対して,複数のリソースマネジャ拡張子を割り当てて,複数の制御単位としてアクセスする場合(トランザクションサービス定義の該当するリソースマネジャに対するtrnstring定義コマンドで-iオプションを指定した場合),該当するユーザサーバからアクセスするリソースマネジャの拡張子を定義します。
トランザクションサービス定義のtrnstring定義コマンドで-iオプションを指定した場合,OpenTP1は該当するリソースマネジャ名を「リソースマネジャ名+リソースマネジャ拡張子」に修飾して管理します。そのため,リソースマネジャ名だけでのアクセスはできません。必ずこのコマンドを定義してください。
OpenTP1のトランザクションサービスでは,X/OpenのXAインタフェースでリソースマネジャと連携してトランザクションを実行します。XAインタフェースではリソースマネジャが規定したxa_open関数用,xa_close関数用文字列を通知しなければなりません。
ユーザサーバが,OpenTP1下のトランザクション内でリソースマネジャをアクセスする場合(トランザクション制御用オブジェクトをユーザサーバにリンケージした場合),そのリソースマネジャのxa_open関数用文字列,およびxa_close関数用文字列を指定する必要があります。xa_open関数,xa_close関数は,トランザクションサービス定義のtrnstring定義コマンドで指定された該当するリソースマネジャ拡張子の文字列を引数として,ユーザサーバ起動・終了時,およびトランザクション回復処理時にOpenTP1のトランザクションサービスが発行します。
-iオプションに指定するリソースマネジャ拡張子は,トランザクションサービス定義で指定した拡張子と同一の拡張子を指定してください。
一つのリソースマネジャに対して,複数のリソースマネジャ拡張子を割り当てて,複数の制御単位としてアクセスする必要がない場合(トランザクションサービス定義の該当するリソースマネジャに対するtrnstring定義コマンドで,-iオプションを省略した場合)は,このコマンドを定義する必要はありません。
一つの定義ファイル内に同一リソースマネジャ名で,同一リソースマネジャ拡張子のtrnrmid定義コマンドを複数指定した場合,最後に指定した定義が有効となります。
この定義は,OpenTP1が提供するリソースの場合,OpenTP1_MCFだけ指定してください。
オプション
●-n リソースマネジャ名
〜〈1〜31文字の識別子〉
このユーザサーバがアクセスするリソースマネジャ名(トランザクションサービス定義のtrnstring定義コマンドで指定したリソースマネジャ名)を指定します。OpenTP1が提供するリソースの場合,OpenTP1_MCFだけ指定が必要です。ただし,OpenTP1_MCFでも次の場合には指定を省略できます。
-
MCFマネジャ環境定義mcfmenvのidオペランドを省略した場合,またはAを指定した場合
●-i リソースマネジャ拡張子
〜〈1〜2文字の識別子〉
このユーザサーバがアクセスするリソースマネジャ拡張子(トランザクションサービス定義のtrnstring定義コマンドで指定したリソースマネジャ拡張子)を指定します。
複数の拡張子を指定する場合は,拡張子と拡張子の間をコンマ(,)で区切ります。
トランザクションに関係するMCFを管理するために,MCFに対してのリソースマネジャ拡張子を指定しなければなりません。このオプションに指定するMCFのリソースマネジャ拡張子は,該当するユーザサーバがアクセスできるMCFのトランザクションサービス定義で指定したMCFのリソースマネジャ拡張子と同じ拡張子を指定してください。
●-k
-nオプションと-iオプションで指定したリソースマネジャ(リソースマネジャ名+リソースマネジャ拡張子)をリソースマネジャ接続先選択機能の対象とする場合に指定します。
このオプションを指定した場合は,トランザクションを開始する前にdc_trn_rm_select関数を使用して接続対象となるリソースマネジャ(リソースマネジャ名+リソースマネジャ拡張子)を決定してください。dc_trn_rm_select関数で接続対象のリソースマネジャを決定しないままトランザクションを開始すると,このオプションを指定したリソースマネジャへの接続はできません。
このオプションはSUPまたはSPPにだけ指定できます。MHPでは指定できません。MHPに指定した場合は,該当するリソースマネジャに接続できなくなるため,注意してください。また,このオプションはOpenTP1が提供するリソースには指定できません。指定した場合の動作は保証できません。
一つのユーザサーバの同一リソースマネジャでは,-kオプションの指定の有無を混在させないでください。
注意事項
ユーザサービス定義とユーザサービスデフォルト定義の両方で,trnrmid定義コマンドに-iオプションを指定する場合は注意してください。例えば,次のように指定した場合,ユーザサービス定義とユーザサービスデフォルト定義の両方の指定が有効となります。
-
ユーザサービス定義の指定:trnrmid -n RM名称 -i s1
-
ユーザサービスデフォルト定義の指定:trnrmid -n RM名称 -i s2