分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/J編

[目次][索引][前へ][次へ]

2.8.2 connectメソッドがタイムアウトした場合の例外

各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合と,dccltconnecttimeoutオペランドに指定した時間が満了した場合とでは,TP1/Client/JのAPIから返る例外が異なります。これは,満了する監視時間の違いが,connectメソッドで発生する例外に影響するためです。

dccltconnecttimeoutオペランドに,各プラットフォーム固有のタイムアウト監視時間よりも大きい値を指定した場合,各プラットフォーム固有のタイムアウト監視時間が先に満了します。このため,dccltconnecttimeoutオペランドの指定は無効となります。dccltconnecttimeoutオペランドの指定を省略した場合,connectメソッドのタイムアウト監視時間は,各プラットフォームで固有となります。

各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合と,dccltconnecttimeoutオペランドに指定した時間が満了した場合の,TP1/Client/JのAPIが返す例外を次の表に示します。

表2-4 connectメソッドがタイムアウトした場合にAPI(メソッド)が返す例外

項番 メソッド 各プラットフォーム固有※1 dccltconnecttimeoutオペランド※2
1 cltAssemSend(byte[] buff, int sendleng, String hostname, int portnum, int timeout, int flags) ErrNetDownAtClientException ErrClientTimedOutException
2 cltSend(byte[] buff, int sendleng, String hostname, int portnum, int flags) ErrNetDownAtClientException ErrClientTimedOutException
3 openConnection(String host, int port) ErrNetDownAtClientException ErrClientTimedOutException
4 openConnection() ErrNetDownAtClientException ErrClientTimedOutException
5 rpcCall(String group, String service, byte[] in_data, int[] in_len, byte[] out_data, int[] out_len, int flags) ErrNetDownAtClientException ErrClientTimedOutException
6 rpcCall(String group, String service, byte[] in_data, byte[] out_data, int flags) ErrNetDownAtClientException ErrClientTimedOutException
7 rpcCallTo(DCRpcBindTbl direction, String group, String service, byte[] in_data, int[] in_len, byte[] out_data, int[] out_len, int flags) ErrConnRefusedException ErrNetDownAtClientException
8 trnBegin() ErrConnRefusedException ErrClientTimedOutException
注※1
各プラットフォームで固有のconnectメソッドのタイムアウト監視時間が満了した場合に発生する例外です。
注※2
dccltconnecttimeoutオペランドに指定した時間が満了した場合に発生する例外です。