5. JNDIサービス

JNDIサービスの注意・制限事項について説明します。

5.1. 注意事項

  1. ホスト名、IPアドレスの変更

    JNDIサービスが動作しているホストのホスト名、IPアドレスを変更した場合、JNDIサービスが起動しなくなる、またはJNDIサーバとの通信に失敗することがあります。これは古いホスト名、IPアドレスの情報がObject Brokerの名前サービスに残っているためです。以下のファイルを削除してObject Brokerのサービスを再起動してください。

    <WebOTXインストールディレクトリ>/domains/<ドメイン名>/config/ObjectBroker/namesv.ndf

  2. 名前情報永続化ファイル破壊時の復旧手順

    JNDIサービスは基本的にはメモリ中にのみ名前情報を格納します。運用管理ツールからJNDIサービスの永続化指定をありに設定した場合に名前情報がファイルに永続化されますが、永続化指定を無しとしている場合でも配備したEJBのホームインタフェースの名前など、一部の名前は必ずファイルに格納するように動作します。

    永続化ファイルがディスク障害などにより壊れた場合、EJBの名前情報が消えてしまうため、EJBの呼び出しが行えなくなってしまいます。このときの対処として、ドメインを停止して、バックアップファイルから復旧を行なってください。永続化ファイルとバックアップファイルはデフォルトで以下のディレクトリに作成されます。バックアップファイルは".bak"のサフィックスが付いたファイルです。それらを.bakの付かないファイルにコピーしてドメインを起動してください。

    <WebOTXインストールディレクトリ>/domains/<ドメイン名>/config/jndisp/store

  3. 名前サーバ・キャッシュ名前サーバラウンドロビン機能の使用

    V7.1からJNDIサーバのURL指定にrmiiiop形式をサポートし、これがデフォルトのURL指定になりました。この形式の場合、EJBのルックアップの際に名前サーバあるいはキャッシュ名前サーバが介在しないためにこれらの持つラウンドロビン機能が使用できません。

    ラウンドロビン機能を有効にしたい場合は、運用管理ツールのJNDIサービスの属性で、CosNamingサーバにJNDIサーバのリファレンスを登録する指定を行ったうえで、従来のcorbaname形式でJNDIサーバのURLを指定してください。ルックアップ元のJavaシステムプロパティで以下のように指定します。

          -Djava.naming.provider.url=corbaname://名前サーバホスト名:名前サーバポート番号
     
    
  4. JDBCデータソースの永続化情報

    JDBCデータソースの永続化情報は以下のディレクトリの<数字>.propertiesファイルにテキスト形式で書き込まれます。

    <WebOTXインストールディレクトリ>/domains/<ドメイン名>/config/jndisp/datasources

    ホスト名あるいはIPアドレス変更時にJDBCデータソースの設定変更をし忘れたことにより、起動時にデータベース接続を行うアプリケーションがストールし、ドメイン起動しなくなった場合は、これら永続情報ファイルを直接編集してください。

5.2. 制限事項

  1. 複数JNDIクライアントから同じ名前に対して同時unbindを行ったときのログメッセージ

    [ トラブルシューティングガイド > 2. 障害解析 > 2.4. 機能別リンク > 2.4.3. JNDI > JNDIサーバがレプリケーションされている環境における問題の対処] では、以下のメッセージが出力された場合は、 レプリケーションされたJNDIサーバに不整合が発生しており、手動で同期を取る必要があるとしています。

    OTX04130000: レプリケーションしているJNDIサーバに不整合がある可能性があります。jndiadmコマンドにより、手動で同期処理を行ってください。

    JNDIサーバがレプリケーションされている環境で、複数JNDIクライアントから同じ名前に対して、同時にunbindを行うと、タイミングにより、不整合が発生していなくてもJNDIクライアントの ログファイルにこのメッセージが出力される場合があります。

    この場合、同期を行う必要はありません。同期を行っても、「同期の必要はありません」と出力されます。