12.5.2 ポリシーの値

RebindPolicyとして設定できるOMGのポリシー値について,次の表に示します。

表12-1 OMGのポリシー値(Java)

ポリシー値説明
TRANSPARENTこのポリシーは,リモートリクエスト実行時に,オブジェクト障害後osagentを使用してほかのオブジェクトを呼び出すことと必要な再接続処理をVisiBroker ORBが暗黙的に実行することを許可します。これは,最も制限を加えない値です。
NO_REBINDこのポリシーは,リモートリクエスト実行時に,クローズしたコネクションの再開をVisiBroker ORBが暗黙的に実行することを許可します。ただし,クライアント側で有効になっているQoSポリシーに変更を加えるような,透過的な呼び出し(オブジェクト障害後osagentを使用してほかのオブジェクト呼び出すこと)は許可しません。
NO_RECONNECTこのポリシーは,オブジェクト障害後osagentを使用してほかのオブジェクトを呼び出すことと,クローズしたコネクションの再開をVisiBroker ORBが暗黙的に実行することを禁止します。これは,最も制限を加える値です。

RebindPolicyに設定できるVisiBroker固有のポリシー値について,次の表に示します。

表12-2 VisiBroker固有のポリシー値(Java)

ポリシー値説明
com.inprise.vbroker.QoSExt.VB_TRANSPARENTこれは,TRANSPARENTのオブジェクト障害後osagentを使用したほかのオブジェクトの呼び出しをする動作を継承したポリシーです。これはデフォルトポリシーです。
サーバダウンが原因でリモート呼び出しが失敗するときにこのポリシーを設定すると,VisiBroker ORBはosagentを使用してほかのサーバへの再接続を試みます。リバインドに成功すると,クライアントのVisiBroker ORBは通信障害をマスクし,呼び出し元のスレッドに例外を返しません。
com.inprise.vbroker.QoSExt.VB_NOTIFY_REBINDVB_NOTIFY_REBINDはVB_TRANSPARENTと同様の動作をしますが,通信障害を検知した場合に例外を発生します。もう一度呼び出しをすると,このポリシーは,ほかのオブジェクトへの透過的な再接続を試みます。
com.inprise.vbroker.QoSExt.VB_NO_REBINDVB_NO_REBINDは,オブジェクト障害後,osagentを使用してほかのオブジェクトを呼び出すことを有効にしません。また,オブジェクトの転送も許可しません。クライアントVisiBroker ORBが,同じサーバに対してクローズしたコネクションを再開することだけを許可します。
ユーザのクライアントの有効ポリシーがVB_TRANSPARENTであり,かつ状態データを保存しているサーバと連携している場合,VB_TRANSPARENTはそのクライアントを新規サーバに接続することがあります。この場合,クライアントはサーバが変更されたことを認識しないで,元のサーバに保存されていた状態データは失われます。