この章の内容は以下のとおりです。
WebLogic Server管理コンソールからXMLレジストリにアクセスし、XMLレジストリでWebLogic ServerをXMLアプリケーション用に構成します。
ブラウザでWebLogic Server管理コンソールを起動するには、次のURLを入力します。
http://host:port/console
ここで
host
は、WebLogic管理サーバーが動作しているコンピュータの名前です。
port
は、WebLogic管理サーバーが接続リクエストのリスニングを行っているポート番号です。WebLogic管理サーバーのデフォルトのポート番号は7001です。
XMLレジストリは、WebLogic Server管理コンソールを使用して作成、構成、および使用します。WebLogic Server管理コンソールXMLレジストリの使用には、次のメリットがあります。
XMLアプリケーションでJAXPを使用している場合、XMLレジストリの構成の変更が実行時に自動的に有効になります。
XMLレジストリを変更する場合、XMLアプリケーション・コードを変更する必要はありません。
エンティティの解決がローカルで実行されます。XMLレジストリでは、エンティティのローカル・コピーを定義できます。または、WebLogic ServerがWebからエンティティを指定した期間キャッシュし、Web上のエンティティではなく、そのキャッシュしたコピーを使用するように指定することもできます。
XMLレジストリを使用すると、以下の指定が可能になります。
デフォルト・パーサーのかわりとなるサーバー全体のXMLパーサー。
ドキュメント・タイプ単位のXMLパーサー。
デフォルトのトランスフォーマのかわりとなる、サーバー全体の代替トランスフォーマ。
エンティティのローカル・コピーで解決される外部エンティティ。外部エンティティを指定すると、管理サーバーでは、エンティティのローカル・コピーがファイル・システムに保存され、解析時にサーバーのパーサーに自動的に配布されます。この機能を使用すれば、SAX EntityResolversの作成と設定が不要になります。
Webからの取得後にWebLogic Serverによってキャッシュされる外部エンティティ。WebLogic Serverが再取得するまでこれらの外部エンティティがキャッシュされる期間、およびWebLogicが最初にエンティティを取得するタイミング(アプリケーションの実行時か、WebLogic Serverの起動時か)を指定します。
これらの機能は、サーバー側だけで使用できます。
XMLレジストリを必要な数だけ作成できますが、WebLogic Serverの特定のインスタンスに関連付けることができるXMLレジストリの数は1つだけです。
WebLogic ServerのインスタンスにXMLレジストリが関連付けられていない場合、ドキュメントの解析や変換にはデフォルトのパーサーおよびトランスフォーマが使用されます。デフォルトのパーサーおよびトランスフォーマは、JDKに付属しています。
XMLレジストリをWebLogic Serverのインスタンスに関連付けると、すべてのXML構成オプションが、そのサーバーを使用しているXMLアプリケーションで利用可能になります。
XMLレジストリに対しては、以下のタイプのエントリを作成できます。
パーサーおよびトランスフォーマの構成。
外部エンティティ解決の構成。
注意:
XMLレジストリでは、大文字と小文字が区別されます。たとえば、ルート要素が<CAR>
のXMLドキュメント・タイプのパーサーを構成している場合、「ルート要素タグ」フィールドには、car
やCar
ではなくCAR
と入力する必要があります。
JAXPでXMLアプリケーションを解析または変換する場合は、常にXMLレジストリに自動的にアクセスします。WebLogic Serverは、以下のようなルックアップ順序に従って、ロードするパーサーのクラスを決定します。
特定のドキュメント・タイプ用に定義したパーサーを使用します。
WebLogic Serverインスタンスに関連付けられているXMLレジストリで定義されたサーバー全体の代替パーサーを使用します。
デフォルト・パーサー(JDKに付属のパーサー)を使用します。
特定のドキュメント・タイプに対応するトランスフォーマを定義することはできないので最初の手順は除きますが、それ以外ではこのプロセスはトランスフォーマにも当てはまります。
さらに、WebLogic Serverの起動時に、SAXエンティティ・リゾルバは、レジストリで宣言されたエンティティを解決するように自動的に設定されます。したがって、使用するパーサーを制御したり、外部エンティティのローカル・コピーの場所を設定したりするために、XMLアプリケーション・コードを変更する必要はありません。使用するパーサー、および外部エンティティの位置は、XMLレジストリで制御します。
注意:
JAXPではなくパーサーによって提供されたAPIを使用する場合、XMLレジストリはXMLドキュメントの処理に影響を与えません。このため、XMLアプリケーションではなるべくJAXPを使用してください。
デフォルトでは、WebLogic Serverは、デフォルト・パーサーとトランスフォーマでXMLドキュメントを解析および変換するように構成されています。デフォルトのパーサーおよびトランスフォーマは、JDKに付属しています。デフォルトを使用する限りは、XMLアプリケーションについて構成タスクを実行する必要はありません。デフォルト以外のパーサーまたはトランスフォーマを使用する場合は、以下の節で説明するようにXMLレジストリでパーサーおよびトランスフォーマを構成する必要があります。
次の手順ではまず、SAXおよびDOMパーサーおよびトランスフォーマを定義するXMLレジストリの作成方法を説明します。次に、サーバーで新しいパーサーとトランスフォーマを使用するために、新しいXMLレジストリをWebLogic Serverのインスタンスに関連付ける(プラグインする)方法を説明します。
注意:
デフォルトのWebLogic Serverパーサーおよびトランスフォーマと互換性があるパーサーおよびトランスフォーマのみをプラグインできます。デフォルトのパーサーおよびトランスフォーマは、JDKに付属しています。
特定のドキュメント・タイプに対応したパーサーを構成する場合、ドキュメントのシステムID、パブリックID、ルート要素を使用して、ドキュメント・タイプを識別できます。
注意:
WebLogic Serverでは、ドキュメントの種類を識別しようとするとき、XMLドキュメントの最初の1000バイトのみを検索します。この最初の1000バイトの中にDOCTYPE識別子が見つからなければ、ドキュメントの検索は終了し、WebLogic Serverインスタンス用に構成されたパーサーを使用してドキュメントの解析が行われます。
特定のドキュメント・タイプに対応したパーサーを構成するには、以下の手順を実行します。
XMLレジストリを使用すると、外部エンティティ解決を構成し、外部エンティティ・キャッシュを構成およびモニターできます。
WebLogic Serverでは、以下のいずれかの方法で外部エンティティの解決を構成できます。
物理的にエンティティ・ファイルを、WebLogic管理サーバーからアクセス可能なディレクトリにコピーし、外部エンティティがXMLドキュメントで参照されている場合は常に管理サーバーがそのローカル・コピーを使用するように指定します。
サーバー起動時、または外部エンティティの初めての参照時のいずれかに、管理サーバーを基準にした相対URLまたはパス名で参照される外部エンティティを管理対象サーバーがキャッシュするように指定します。
外部エンティティを管理対象サーバーにキャッシュすると、アクセス時間を節約できるだけでなく、ネットワークまたは管理サーバーのダウンによりXMLドキュメントの解析中に管理サーバーにアクセスできなくなった場合には、ローカル・バックアップを利用できます。
キャッシュされたエンティティに対して、WebLogic ServerがURLまたは管理サーバーからエンティティを再取得して再キャッシュするまでの間隔(有効期限)を構成できます。
外部エンティティの解決を構成するには、以下の手順を実行します。
WebLogic管理サーバーを起動し、WebLogic Server管理コンソールをブラウザで起動します。
WebLogic Server管理コンソールの呼出し方法については、「WebLogic Server XMLの管理の概要」を参照してください。
Oracle WebLogic Server管理コンソール・オンライン・ヘルプの外部エンティティ解決の構成に関する項で概説されている手順に従います。
外部エンティティ・キャッシュの以下のプロパティを構成できます。
キャッシュ・メモリーのサイズ(単位: KB)。このプロパティのデフォルト値は500KBです。
永続ディスク・キャッシュのサイズ(MB)。このプロパティのデフォルト値は5MBです。
外部エンティティがWebLogic Serverによってキャッシュされた後、キャッシュ内で有効期限切れになるまでの秒数。これは、サーバー全体のデフォルト値です。エンティティを構成する場合に、特定の外部エンティティに対応するようにこの値をオーバーライドできます。このプロパティのデフォルト値は、120秒(2分)です。
外部エンティティ・キャッシュを構成するには、次の手順に従います。