Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成の手引


7.2.3 OpenTP1ノードのノード識別子の取得

UAPから関数を呼び出して,マルチノードエリア,またはマルチノードサブエリアにあるすべてのノード識別子を取得できます。ノード識別子を取得して,マルチノードエリア,またはマルチノードサブエリアを構成するOpenTP1ノードをUAPで知ることができます。

OpenTP1ノードのノード識別子を取得する場合,連続して取得する方法と,指定したOpenTP1ノードのノード識別子だけを取得する方法があります。

〈この項の構成〉

(1) OpenTP1ノードのノード識別子を連続して取得する方法

マルチノードエリア,またはマルチノードサブエリア単位に,そのエリアにあるすべてのOpenTP1ノードのノード識別子を取得します。連続してノード識別子を取得する場合は,取得したいエリアを指定したdc_adm_get_nodeconf_begin関数を呼び出します。この関数を呼び出すと,指定したエリアにあるOpenTP1ノードの個数がリターンされます。次に,dc_adm_get_nodeconf_next関数を呼び出して,OpenTP1ノードのノード識別子を取得します。該当するOpenTP1ノードがなくなるまでdc_adm_get_nodeconf_next関数を呼び出してから,最後にdc_adm_get_nodeconf_done関数を呼び出して状態の取得を終了します。

dc_adm_get_nodeconf_begin関数を呼び出したあとで,もう一度 dc_adm_get_nodeconf_begin関数を呼び出すこと(dc_adm_get_nodeconf_begin関数のネスト)はできません。

OpenTP1ノードのノード識別子を連続して取得する手順を次の図に示します。

図7‒4 OpenTP1ノードのノード識別子を連続して取得する手順

[図データ]

(2) 自OpenTP1ノードのノード識別子を取得する方法

UAPを実行しているOpenTP1ノードのノード識別子を取得する場合は,dc_adm_get_node_id関数を呼び出します。この関数を呼び出すと,自OpenTP1ノードのノード識別子を取得できます。