1

以下はJavaTM IDL FAQからのものです。

Sun の ORB からサードパーティのネーミング サービスに接続するにはどうすればよいですか?

推奨される使用方法は、

相互運用ネーミング サービス (INS)

このオプションがサードパーティのネーミング サービスでサポートされている場合

別のベンダーのネーミング サービスで Sun ORB を使用するには、

  • ホストとポートでサードパーティのネーム サーバーを起動します。
  • 次の引数を ORB.init() に渡します。

    -ORBInitRef NameService=corbaloc:iiop:1.2@:/NameService
    

    orb.resolve_initial_references( "NameService" ) を実行すると、サードパーティのネーム サービスに接続できるはずです。それでも接続できない場合は、次のトラブルシューティングのヒントを試してください。

  • サードパーティのネーム サービスが INS をサポートしていることを確認します。

  • ホストとポートの情報が正確であることを確認します。

  • サードパーティのネーム サービスが正常に開始されたことを確認します。

  • サードパーティのネーム サービスが GIOP 1.2 をサポートしていることを確認します。そうでない場合は、正しい GIOP バージョンについてネーム サーバーのドキュメントを参照し、それに応じて corbaloc: URL を変更します。

  • サードパーティのネーム サービスが、NameService への接続に使用する別のオブジェクト キーを持っているかどうかを確認します。その場合は、ネーム サーバーのドキュメントを参照してください。

私は CORBAを初めて使用するので、サード パーティのネーミング サービスに接続する別の方法があるかどうかを知りたいのですが、これはあまり「推奨」されていない可能性があります。結局のところ、サードパーティのネーミング サービスが INS (Interoperable Naming Service) をサポートしているかどうかは、まだわかっていません。しかし、繰り返しになりますが、私はこれらのことは初めてだと言いました...

4

1 に答える 1

2

最後に CORBA に悩まされてから 10 年以上が経ちましたが、今でも覚えていることがいくつかあります。

「推奨されない」方法は、CORBA の URL に相当する IOR (Interoperable Naming Reference) を使用することです。IOR は、基本的に、ライブ CORBA オブジェクトの場所を表す文字列です。クライアントは、IOR をそのオブジェクトのハンドルに変換できます。

通常、IOR 自体は、他のオブジェクトのレジストリである CoS ネーミング サービスをポイントしますが、リモート オブジェクトを直接ポイントする IOR を持つことも有効です。

IOR の扱い方については、この古い記事(1999 年、最後に CORBA が話題になった記事) を参照してください。

于 2009-12-30T19:27:14.000 に答える