操作
バグ #4351
未完了rtcd_javaがネームサーバーに登録されない。
ステータス:
担当
優先度:
通常
担当者:
katami
対象バージョン:
-
開始日:
2017/10/26
期日:
進捗率:
100%
予定工数:
説明
windowsでネームサーバー起動後のrtcd_javaを起動するとRTSEのNameServiceViewに表示されない。
rtcd_javaを一旦落として、再起動すると表示される。
操作
100%
説明
windowsでネームサーバー起動後のrtcd_javaを起動するとRTSEのNameServiceViewに表示されない。
rtcd_javaを一旦落として、再起動すると表示される。
コンフィグレーションファイルの設定でnaming.formatsが設定されいる。
naming.formats: %h.host_cxt/%n.rtc
CorbaNaming.rebindRecursive()でネーミングコンテキストを作成してオブジェクトを登録しているが、その処理で、オブジェクトがネーミングコンテキストクラスかどうか判定している。
その判定処理でオブジェクトがネーミングコンテキストでない場合、処理が停止するときがある。
判定方法を変更した。
これまではオブジェクトをNamingContextExtでキャスト(詳細には、NamingContextExtHelper.narrow)して、成功した場合はtrue、失敗した場合はfalseと判定していた。
しかしながら、オブジェクトによっては、キャストの際に処理がブロックしてしまい制御が帰ってこないことがある。(本件の不具合の原因。)
そこで キャストをやめて instanceof を使い、オブジェクトがNamingContextを継承してるかどうかという判定に変更した。