0

CORBA サービスを複数の NameService にバインドしようとしています。コードは次のとおりです (簡略化)。

org.omg.CORBA.Object objRef = orb.string_to_object("corbaloc::127.0.0.1:1337,:127.0.0.1:1338/NameService");
NamingContextExt ctx = NamingContextExtHelper.narrow(objRef);
NameComponent path[] = { new NameComponent("toto", "") };
ctx.rebind(path, new MyObject());

VisiBroker 8.5 ライブラリは corbaloc URI を受け入れますが、サービスは 1337 ポートにのみバインドされます。

編集:複数の NameServices への手動バインドが機能することはわかっていますが、corbaloc URI が機能するはずです。

ここに CORBA の専門家はいますか?

ありがとうございました!

4

1 に答える 1

1

残念ながら、マルチアドレスの corbaloc URI は、希望どおりに動作しません。余分なアドレスは、障害が発生した場合のバックアップとして扱われます。「選択」されるのは、リストの最初に応答するものだけです。その動作を説明するドキュメントを次に示します。

ネーミング サービスの実装が何らかのレプリケーションをサポートしていない限り (Visibroker がサポートしているかどうかはわかりません)、オブジェクト参照を各ネーミング サービスに手動でバインドする必要があります。

于 2011-05-29T03:56:15.183 に答える