機能 #1271
完了
複数NICを持つノードのCORBAオブジェクトのIORの問題
匿名ユーザー さんがほぼ15年前に追加.
13年以上前に更新.
説明
複数のネットワークインターフェースを持つノードが、ネームサーバにオブジェクトリファレンスを登録する際、通常ローカルループバックを除くインターフェースのうち、第1番目のインターフェースのアドレスのみを含むIORをネームサーバに登録する。
これにより、意図しないアドレスがIORに付与され、結果として通信のできないオブジェクトリファレンスとなる場合がある。
これを回避する方法として、corba.endpoint オプションが利用できるが、指定できるアドレスはひとつのみとなり、特定のネットワークでしか使用できないIORとなる問題がある。
これを回避する方法を調査し、改良を行う。
関連するチケット
1 (0件未完了 — 1件完了)
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回動作してしまうので、この点に関しては引き続き調査が必要である。
java オプチョンの -Dorg.omg.PortableInterceptor.ORBInitializerClass は ORB.init のプロパティで設定可能。
put("org.omg.PortableInterceptor.ORBInitializerClass.<Service>","");
他の形式にエクスポート: Atom
PDF