操作
機能 #1271
完了複数NICを持つノードのCORBAオブジェクトのIORの問題
ステータス:
終了
優先度:
通常
担当者:
-
対象バージョン:
-
開始日:
2010/02/23
期日:
進捗率:
100%
予定工数:
説明
複数のネットワークインターフェースを持つノードが、ネームサーバにオブジェクトリファレンスを登録する際、通常ローカルループバックを除くインターフェースのうち、第1番目のインターフェースのアドレスのみを含むIORをネームサーバに登録する。
これにより、意図しないアドレスがIORに付与され、結果として通信のできないオブジェクトリファレンスとなる場合がある。
これを回避する方法として、corba.endpoint オプションが利用できるが、指定できるアドレスはひとつのみとなり、特定のネットワークでしか使用できないIORとなる問題がある。
これを回避する方法を調査し、改良を行う。
匿名ユーザー さんがほぼ15年前に更新
IOR に TAG_ALTERNATE_IIOP_ADDRESS を追加することが可能か調査した。
java オプチョンの -Dorg.omg.PortableInterceptor.ORBInitializerClass を使用し ORB インタセプタして IOR に TAG_ALTERNATE_IIOP_ADDRESS を追加することが可能であることがわった。
テスト的に 192.168.100.224 37259 を TAG_ALTERNATE_IIOP_ADDRESS として追加するプログラムを作成した。
IOR:000000000000001749444c3a48656c6c6f4170702f48656c6c6f3a312e3000000000000100000000000000a6000102000000000a3132372e302e312e3100b30300000031afabcb0000000020fa030fcd00000001000000000000000100000008526f6f74504f4100000000080000000100000000140000000000000300000001000000200000000000010001000000020501000100010020000101090000000100010100000000260000000200020000000000030000001a00000000000000103139322e3136382e3130302e32323400918b Type ID: "IDL:HelloApp/Hello:1.0" Profiles: 1. IIOP 1.2 127.0.1.1 45827 "....... ....................RootPOA.............." TAG_CODE_SETS char native code set: ISO-8859-1 char conversion code set: UTF-8, 0x00010020 wchar native code set: UTF-16 wchar conversion code set: 0x00010100 unknown tag(0x00000026) 0x0002 TAG_ALTERNATE_IIOP_ADDRESS 192.168.100.224 37259
インタセプタ処理の establish_components が2回動作してしまうので、この点に関しては引き続き調査が必要である。
操作