5.1.5 OpenTP1での注意事項
OpenTP1でXATMIインタフェースを使って通信する場合は,次の点に注意してください。
-
XATMIインタフェースを使うユーザサーバのユーザサービス定義には,次の値を必ず指定してください。
server_type = "xatmi"
-
XATMIインタフェースでは,サービスグループの概念はありません。ただし,OpenTP1でXATMIインタフェースを使った通信をする場合は,UAPのユーザサービス定義にサービスグループを設定してください。
-
XATMIインタフェースを使う場合は,ユーザサービス定義,またはユーザサービスデフォルト定義に次の値を必ず指定してください。
trn_expiration_time = 0以外の値 trn_expiration_time_suspend = Y
-
tpcall(),tpacall(),tpconnect(),tpsend()でデータを送信するときにブロッキング状態が起こって,一定時間が経ってもブロッキング状態が解除されなかった場合,TPENOBLOCKフラグの有無に関係なく,TPESYSTEMがリターンされます。TPESYSTEMでエラーリターンするまでの時間は,定義のサービス要求送信リトライ回数,間隔によって決まります。
-
トランザクションタイムアウトが起こったときは,TPETIMEはリターンされないで,そのプロセスは異常終了します。
-
dc_rpc_call関数で呼ばれて,XATMIインタフェースの関数(tpcall()など)を呼び出すUAPには,RPCインタフェース定義とXATMIインタフェース定義のクライアント用定義の両方を指定して作成したスタブをリンケージしておいてください。この場合のスタブを作成する方法については,マニュアル「OpenTP1 プログラム作成リファレンス」の該当する言語編を参照してください。
-
tx_commit()などでトランザクションを決着させた場合には,それ以前のすべての未受信データは無効となります。
-
ノード間負荷バランス機能およびノード間負荷バランス拡張機能を使う場合,dc_rpc_call関数の場合と同様に,複数用意したSPPのサービスグループ名をユーザサービス定義で一致させる必要があります。その際には,ユーザサービス定義でサービス名と実行形式ファイル名を一致させてください。サービス名が一致していない場合は,tpcall(),tpacall(),tpconnect()が失敗する場合があります。実行形式ファイル名が一致していない場合は,どのサーバUAPがスケジュールされたかによって処理結果がまちまちになります。
-
OSI-TP通信を使用したトランザクションブランチは,相手システムとのアソシエーションがなければ回復できません。また,相手システムに対する着呼のアソシエーションだけでは回復できない場合があります。必ず発呼のアソシエーションを定義してください。トランザクションブランチの回復ができない場合は,相手システムとのアソシエーションが確立されているかどうか確認してください。ただし,同じ相手システムに対する複数のトランザクションブランチの回復が並列に実行されないで時間が掛かる場合があります。
-
XATMIインタフェースAPIで送受信できる最大データ長は500キロバイトです。